prepd.

שאלת מבחן במבני נתונים ומבוא לאלגוריתמים - האוניברסיטה הפתוחה 2023 - עצי חיפוש

הציעו מבנה-נתונים של עץ אדום-שחור מורחב אשר מתחזק מספרים טבעיים ייחודיים ותומך בשגרות הבאות בזמני הריצה המצוינים ליד כל שגרה:

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

הדרכה: עליכם להגדיר שדות הרחבה מתאימים לעץ אדום-שחור. יש להראות את קיום תנאי משפט 14.1 אך אין צורך להוכיחו. אין צורך לכתוב פסאודוקוד אך יש לפרט את אופן פעולת השגרות במדויק. נתחו בקצרה נכונות וסיבוכיות.
העתק שאלה
שתף שאלה
סמן כחשוב
סמן כבוצע
שאלה חוזרתהאוניברסיטה הפתוחהמבחן סמסטר א2023 סמסטר א | 2023 סמסטר א
עצי חיפושעץ אדום-שחורמבני נתונים מורחביםסיבוכיות
הרחב כל צומת בשדות: גובה הצומת, מספר הצמתים עם גובה זוגי בתת-העץ, וסכום המפתחות של צמתים עם גובה זוגי בתת-העץ. עבור השתמש ברעיון דומה לעץ סדר סטטיסטי.
**שדות ההרחבה לכל צומת :**

1.
— גובה הצומת (אורך המסלול הארוך ביותר מ- לעלה).
2.
— מספר הצמתים בתת-העץ של (כולל ) שגובהם זוגי.
3.
— סכום המפתחות של הצמתים בתת-העץ של שגובהם זוגי.

חישוב השדות (קיום תנאי משפט 14.1):


כל שדה ניתן לחישוב מ-
, , בזמן :



(עבור
: )

נגדיר
אם , ו- אחרת. אזי:





כל השדות מחושבים בזמן
מנתוני הצומת וילדיו, ולכן תנאי משפט 14.1 מתקיים. בפרט, בעת סיבובים (rotations) ניתן לעדכן את השדות ב- לכל צומת שמושפע, ולאורך מסלול לשורש ב-.

שימו לב: בעת סיבוב או שינוי מבני, גובה צמתים עלול להשתנות. אולם כל שינוי מתפשט כלפי מעלה לאורך מסלול בודד לשורש, ולכן עדכון כל השדות לאורך המסלול הוא
.

---


פעולת השגרות:


Insert(N,k) ו-Delete(N,x):
מבצעים הכנסה/מחיקה רגילה בעץ אדום-שחור. לאחר כל שינוי מבני (כולל סיבובים ותיקוני צבעים), מעדכנים את שלושת שדות ההרחבה לאורך המסלול מהצומת שהשתנה ועד השורש. סיבוכיות:
.

Average\_Even(N):

סיבוכיות:
.

Med\_Even(N):


נרצה למצוא את החציון התחתון מבין המפתחות של צמתים עם גובה זוגי. נגדיר
(דרגת החציון התחתון).

נמצא את המפתח ה-
-י בגודלו מבין צמתים עם גובה זוגי בדומה לחיפוש סדר סטטיסטי:

:
1. חשב
(מספר צמתי-גובה-זוגי בתת-העץ השמאלי).
2. חשב
(האם עצמו בגובה זוגי).
3. אם
: חפש רקורסיבית ב- עם דרגה .
4. אחרת אם
(ו-): החזר .
5. אחרת: חפש רקורסיבית ב-
עם דרגה .

נכונות: מכיוון שהעץ הוא עץ חיפוש בינארי, כל המפתחות בתת-העץ השמאלי קטנים מ-
וכל המפתחות בתת-העץ הימני גדולים. לכן ה--קטן-ביותר מבין צמתי גובה-זוגי נמצא: בשמאל אם , ב- עצמו אם הוא זוגי והדרגה מתאימה, או בימין אחרת.

סיבוכיות: בכל שלב יורדים רמה אחת בעץ. עומק העץ
, לכן הסיבוכיות .