שאלת מבחן במבוא למדעי המחשב - אוניברסיטת בר-אילן 2023 - רקורסיה

כתבו פונקציה רקורסיבית printDepthVal המקבלת שורש של עץ חיפוש בינארי root וערך מספרי num, ומדפיסה את כל הקדקודים בעץ ששורשו ב-root ושהם באותו העומק בעץ כמו הקדקד עם הערך num (כולל num עצמו), באופן ממויין בסדר עולה (המספר הנמוך ביותר משמאל, והגבוה ביותר מימין).

אם הערך לא נמצא בעץ, היא לא תדפיס דבר.

לדוגמה: אם נשלח את שורש העץ הנתון ואת הערך 5, הפונקציה תדפיס את הערכים 2,5,9,11.
אם נשלח את הערך 7, הפונקציה תדפיס את הערך 7 בלבד.

ואם נשלח את הערך 14, היא לא תדפיס כלום.


העתק שאלה
שתף שאלה
סמן כחשוב
סמן כבוצע
אוניברסיטת בר-אילןמועד ב2023סמסטר א
רקורסיהעץ חיפוש בינארי
ראשית מצאו את העומק של num בעץ (ניצול BST: אם num < root הלך שמאלה, אחרת ימינה). לאחר מכן הדפיסו את כל הצמתים באותו עומק (in-order כדי לקבל סדר עולה). השתמשו בפונקציית עזר שמדפיסה צמתים בעומק מסוים.


הסבר: findDepth מוצאת את העומק של num בעץ BST (ניצול תכונת BST לחיפוש יעיל). printAtDepth מדפיסה בסדר in-order (שמאל→שורש→ימין) את כל הצמתים בעומק נתון — מבטיחה סדר עולה כי העץ הוא BST.