תכנות, רקורסיה, מערכים, מחרוזות, עצים בינאריים ורשימות מקושרות
5
/ \
1 8
\ / \
2 6 9
/
7
BinarySearchTree את השיטה searchPathString(T element) אשר מקבלת איבר element ומחזירה את מחרוזת החיפוש של element בעץ.BinarySearchNode. השיטה במחלקה זו מקבלת איבר element ופרמטר נוסף אותו עליכם לקבוע.difference המקבלת מערך ממוין של מספרים array ומספר חיובי נוסף diff. אם קיימים שני מספרים שונים במערך שההפרש בינהם שווה ל-diff הפונקציה מחזירה ערך true, אחרת היא מחזירה ערך false.true.false.array או להגדיר (או ליצור) משתנים מורכבים (כגון מערך וכדומה).array1 = {1, 3, 6, 7, 8, 10}array2 = {8, 10, 1, 3, 6, 7}array3 = {3, 6, 7, 8, 10, 1}findMinIndex(int[] array) המקבלת מערך לא ריק וממויין בעל איברים יחודיים שעבר הזזה מעגלית ומחזירה את האינדקס של האיבר הקטן ביותר במערך.array1 הפונקציה תחזיר את הערך 0.array2 הפונקציה תחזיר את הערך 2.array3 הפונקציה תחזיר את הערך 5.BinaryTree<T> נתונה כעת השיטה reversedInOrderIterator() המחזירה עצם מהמחלקה הנתונה בסעיף א.inOrderIterator() המחזירה איטראטור In-order רגיל.bst ומספר sum ומחזירה true אם ורק אם קיימים שני מספרים שונים בעץ אשר סכומם הוא sum. הסדר על המספרים בעץ הוא הסדר הטבעי של המספרים.bst שבאיור, הקוד הבא ידפיס את התשובות שבהערה:bst יש לפחות שני קודקודים וכל המספרים בו שונים זה מזה ואינם null.Iterator, Integer או על משתנים פרימיטיביים בלבד.arr המלא במספרים שלמים לא ממוינים. השיטה מחזירה מהו המספר החיובי הקטן ביותר שלא נמצא במערך. ( אינו מספר חיובי).arr הבא:arr הבא: int[] arr = {1, 1, 1, 1} השיטה תחזיר arr הבא: int[] arr = {1, 2, 3, 4} השיטה תחזיר arr הבא: int[] arr = {5, -1, 3, 1, 0, -2, 2} השיטה תחזיר arr הבא: int[] arr = {7, 8, 9, 11, 12, 14} השיטה תחזיר dist, כאשר המרחק מיישוב ליישוב נתון ב-dist[i][j] (יתכן ואין כביש ישיר בין היישובים, במקרה זה dist[i][j]=-1), ואת סימון הרמזור של משרד הבריאות red_ones, כאשר העובדה שיישוב הוא אדום תסומן ב-true במקום . בנוסף תקבל הפונקציה פרמטר אי שלילי .define והוא חיובי.| 0 | 1 | 2 | 3 | |
|---|---|---|---|---|
| 0 | 0 | 1 | 2 | 3 |
| 1 | 1 | 0 | 1 | 2 |
| 2 | 3 | 1 | 0 | 1 |
| 3 | 2 | -1 | 1 | 0 |
M_lst באורך כשכל איבר ברשימה הוא רשימה באורך .>>> M = [[1, 5, 8, 20], [2, 9, 19, 21], [12, 15, 25, 30], [14, 22, 98, 99]]
find_val(M, key) שמחזירה זוג אם הערך key נמצא במטריצה בשורה ובעמודה . אחרת, אם key אינו ערך במטריצה על הפונקציה להחזיר None.>>> x = find_val(M, 10) >>> x is None True >>> y = find_val(M, 19) >>> y (1, 2)
merge_sort ולהפעיל חיפוש בינארי על הרשימה הממוינת.find_val2(M, key) שהפלט שלה זהה ל-find_val שתוארה מעלה. עליכם לדאוג שסיבוכיות הזמן של הפונקציה תהיה עבור מטריצה ריבועית בעלת שורות ו- עמודות. נבקש, ניתן להשתמש בכל פונקציה שלמדתם בשיעור/תרגול ומה היא מחזירה.find_val3 שהפלט שלה זהה ל-find_val שתוארה מעלה. עליכם לדאוג שסיבוכיות הזמן של הפונקציה תהיה עבור מטריצה ריבועית בעלת שורות ו- עמודות. בפרט, הפונקציה תכיל לולאה אחת ומספר האיטרציות שתבצע יהיו לכל היותר כמספר העמודות + מספר השורות ב-.שאלות תרגול במבוא למדעי המחשב בנושא חיפוש ממבחנים של האוניברסיטה הפתוחה, אוניברסיטת תל אביב, אוניברסיטת בר-אילן, הטכניון. השאלות ממוינות לפי רמת קושי, עם פתרונות לבדיקה עצמית - כך שניתן ללמוד מטעויות ולהבין את דרך הפתרון לפני הבחינה. ניתן לאתר שאלות חוזרות ולהריץ מבחני סימולציה ממוקדים בנושא חיפוש.