אתם מתרגלים שאלה מתוך מה"ט מבני נתונים ותכנות מונחה עצמים — הנדסאי תוכנהמבחן 2025 · קיץ מועד א · שאלה 6כל שאלות המבחן ←
עצים›עצים בינאריים

נתונה המחלקה NodeInfo שמכילה שתי תכונות: מספר שלם num, ומחרוזת info. במחלקה הוגדרה פעולה בונה (num, info) ופעולות Get/Set.

public NodeInfo(int num, String info)

סעיף א

public static int sumLeaves(BinNode<Integer> root)

כתבו פעולה SumLeaves המקבלת עץ בינארי של מספרים שלמים ומחזירה את סכום הערכים של כל העלים בעץ.

סעיף ב

public static Queue<NodeInfo> createQueue(BinNode<Integer> bt)

כתבו פעולה CreateQueue המקבלת עץ בינארי של מספרים שלמים ומחזירה תור מטיפוס NodeInfo שבו ערך ה-num בכל איבר זהה לערך הצומת המתקבל בעץ, וערך ה-info מכיל "leaf" אם הצומת הוא עלה, ו-"internal" אם הצומת הוא צומת פנימי. סדר האיברים בתור לא חשוב!

לדוגמה, עבור העץ שלפניכם (שורש 8; שמאל 3 עם ילדים 4,2; ימין 8 עם ילדים 9,6, כאשר ל-9 יש ילד יחיד 8), הפעולה תחזיר את התור: (8,internal)(3,internal)(4,leaf)(2,leaf)(8,internal)(9,internal)(8,leaf)(6,leaf)

שורש: 8

שמאל: ערך: 3

שמאל: 4

ימין: 2

ימין: ערך: 8

שמאל: ערך: 9

שמאל: 8

ימין: 6

סעיף ג

כתבו פעולה MaxLeaveValue המקבלת עץ בינארי של מספרים שלמים ומחזירה את הערך הגדול ביותר מבין העלים של העץ.

שאלות ותגובות על השאלה

🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה לתכנות

שאלו כאן — ותקבלו מענה מוסמך.

🎓 מרצה לתכנות עונה כאן — תקבלו מענה מקצועי