תכנות, רקורסיה, מערכים, מחרוזות, עצים בינאריים ורשימות מקושרות
private static String decimalDouble(String s){…}private static String decimalIncrement(String s){…}public static String binaryToDecimal(String s) המקבלת מחרוזת s המייצגת מספר בבסיס 2 ומחזירה מחרוזת המייצגת את אותו מספר בבסיס 10. 5
/ \
1 8
\ / \
2 6 9
/
7
BinarySearchTree את השיטה searchPathString(T element) אשר מקבלת איבר element ומחזירה את מחרוזת החיפוש של element בעץ.BinarySearchNode. השיטה במחלקה זו מקבלת איבר element ופרמטר נוסף אותו עליכם לקבוע.almostPalindrome(String s) המקבלת מחרוזת s שונה מ-null, ובודקת האם היא כמעט פלינדרום.> gcc file.c -o tst > ./tst Emily Daniel 100
maxmatch מהכיתה שמחפשת חזרה "קדימה" (התאמה), כעת יש גם הפונקציה maxmatch_back שמחפשת חזרה "אחורה"."abcdeabcde" נדחוס בייצוג הביניים ."abcdeedcba" נדחוס בייצוג הביניים ."aaaalxbxaaaa" נדחוס בייצוג הביניים שהאלגוריתם החדש יייצר."aaaa""abccba"LZW_compress_new בשורות הריקות בהתאם לשינוי המתואר בשאלה. הניחו שמומשה לכם הפונקציה:maxmatch_back(text, p, W=2**12-1, L=2**5-1)maxmatch, מקבלת אותם פרמטרים ומחזירה זוג המקיים כאשר מקסימלי.LZW_compress שראינו בכיתה:longest_monotone למטה. הפונקציה מקבלת מחרוזת המורכבת מאותיות קטנות באנגלית ('a','b','c',...,'z'), ומחזירה את האורך המקסימלי של תת מחרוזת מונוטונית עולה של . דוגמאות:| לפני הקריאה לפונקציה | אחרי הקריאה לפונקציה | ערך החזרה | הסבר |
|---|---|---|---|
| 2 | הפרמוטציה הקטנה ביותר היא והיא שונה מהמחרוזת המקורית ב-2 מקומות (יש להחליף את התו d בתו a ואת התו a בתו d). הפרמוטציה הגדולה ביותר היא והיא שונה מהמחרוזת המקורית ב-4 מקומות (התו היחיד שנשאר במקום ולא מוחלף זה התו c) | ||
| 3 | הפרמוטציה הקטנה ביותר היא והיא שונה מהמחרוזת המקורית ב-4 מקומות (התו היחיד שנשאר במקום ולא מוחלף זה התו z). הפרמוטציה הגדולה ביותר היא והיא שונה מהמחרוזת המקורית ב-3 מקומות. | ||
| 0 | אין צורך לשנות את המחרוזת כיוון שהיא הפרמוטציה הקטנה ביותר והיא דורשת 0 שינויים. |
f1 המוגדרת בקטע הקוד הבא, כפונקציה של . אין צורך לפרט את שיקוליכם. חובה לפשט את הביטוי ככל שניתן.f2 המוגדרת בקטע הקוד הבא, כפונקציה של . אין צורך לפרט את שיקוליכם. חובה לפשט את הביטוי ככל שניתן.c1_finalB.q יש תוכנית שבה קולטים שמות סטודנטים מהמשתמש ושומרים אותם במטריצה names.names. מובטח כי השם הארוך ביותר לא יהיה יותר מ תוים.main אשר קוראת לפונקציה read_names, מדפיסה את השמות, וקוראת לפונקציה free_names.main אין טעויות ואסור לשנות אותו.NULL לפני שתשתמש בו.| המחרוזת | המחרוזת | מחרוזת התוצאה |
|---|---|---|
| "1" | "1" | "2" |
| "998" | "2" | "1000" |
| "5" | "0" | "5" |
| "123456789012" | "1" | "123456789013" |
שאלות תרגול במבוא למדעי המחשב בנושא מחרוזות ממבחנים של האוניברסיטה הפתוחה, אוניברסיטת תל אביב, אוניברסיטת בר-אילן, הטכניון. השאלות ממוינות לפי רמת קושי, עם פתרונות לבדיקה עצמית - כך שניתן ללמוד מטעויות ולהבין את דרך הפתרון לפני הבחינה. ניתן לאתר שאלות חוזרות ולהריץ מבחני סימולציה ממוקדים בנושא מחרוזות.