אתם מתרגלים שאלה מתוך בגרות מדעי המחשב — מבני נתונים (שאלון 899271)מבחן 2025 · קיץ מועד א · שאלה 3כל שאלות המבחן ←
עציםעצים בינאריים

"עץ K־שמאלי" הוא עץ בינרי ובו כל מסלול משורש העץ לעלה כלשהו מכיל לכל היותר K קשתות הפונות שמאלה (כלומר מקסימום K בנים שמאליים).

שימו לב: ב"עץ K־שמאלי" ייתכן שאין שום מסלול המכיל K קשתות הפונות שמאלה (כלומר ייתכן שבכל אחד מן המסלולים יש פחות קשתות שמאליות מ־K). דוגמה: [העץ מתואר בתרשים: שורש; בן שמאלי L ובן ימני P; ל-L בן ימני יחיד L2; ל-P בן שמאלי Q ובן ימני עלה Q2; ל-Q בן שמאלי עלה Q3 ובן ימני עלה Q4 — סך הכול 8 צמתים] עץ זה אינו "עץ 1־שמאלי" כי בעץ יש מסלול שבו יש יותר מקשת אחת שמאלית (במסלול המקווקו יש שתי קשתות שמאליות). לעומת זאת, עץ זה הוא "עץ 2־שמאלי" כי אין בו מסלול שבו יותר משתי קשתות שמאליות (ובאותה מידה הוא גם "עץ 3־שמאלי", וגם "עץ 4־שמאלי" וכן הלאה).

עמוד 8: עץ הדוגמה של «עץ K־שמאלי», עם מסלול מקווקו

binary tree, 8 unlabelled nodes (drawn as empty circles), arrows point from parent to child:
  R            (root, top centre)
  R.left  = L  (drawn up-left of the root)
  R.right = P  (drawn right of the root)
  L.right = L2 (a single child of L, drawn down-RIGHT of L)
  P.left  = Q  ; P.right = Q2 (leaf)
  Q.left  = Q3 (leaf) ; Q.right = Q4 (leaf)
total: root, L, P, L2, Q, Q2, Q3, Q4 = 8 nodes.
A DASHED contour marks the path root -> P -> Q -> Q3 (one right edge then two LEFT edges);
this is the «מסלול המקווקו» the caption refers to.
סעיף א

סרטטו "עץ 1־שמאלי" (כלומר שבכל מסלול של העץ יש קשת שמאלית אחת לכל היותר), ובו 8 צמתים ומקסימום 4 רמות.

סעיף ב

כתבו פעולה חיצונית ששמה isLeftK בשפת Java או IsLeftK בשפת C#, המקבלת עץ בינרי – root מטיפוס שלם שאינו ריק, וערך K שאינו שלילי, ומחזירה true אם העץ הוא "עץ K־שמאלי", ואם לא – היא מחזירה false .

public static bool IsLeftK (BinNode<int> root, int K)

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

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

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

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