Professional Documents
Culture Documents
פרק 20 - עצים בינאריים
פרק 20 - עצים בינאריים
פרק 20
מבני נתונים – עצים בינאריים
Binary Trees
עוד הגדרות:
הורה קדמון ( – )ancestorצומת ייקרא 'הורה קדמון' של צומת אחר,
אם הוא הורה שלו או אם הוא הורה קדמון של הורהו.
תת-עץ ( – )sub treeצומת וצאצאיו מהווים עץ בפני עצמו .עץ זה
הוא תת-עץ של העץ המקורי.
A
B
C
D הצמתים הצבועים בכחול
E F G H I מהווים תת-עץ של העץ המקורי.
J K שורשו של תת-העץ הזה הוא הצומת .K
L M N O
P
SCE-Chapter-20-Binary Trees Shayke Bilu PhD
עצים
7
E F G H לכל צומת שאינו השורש I
?שאלות
הילד הימני הוא שורשו של תת-עץ ימני (.)right sub tree
מי מבין העצים בשקף הבא הוא עץ בינארי? מצא ,נמק והסבר.
עץ בינארי הוא טנ"מ שימושי ,ולכן נעסוק בעיקר בו ,ופחות בעץ
כללי.
כדי לנוע על העץ נזדקק לשתי פעולות ממשק :האחת – גישה
מצומת אל התת-עץ השמאלי ,והאחרת – גישה מצומת אל התת-
עץ הימני.
פעולת הממשק תת-עץ שמאלי מקבלת עץ בינארי שאינו ריק,
ומחזירה את התת-עץ השמאלי של שורשו.
באופן דומה מגדירים את פעולת הממשק תת-עץ ימני.
באמצעות שתי פעולות ממשק אלה נוכל להגיע לכל אחד מצומתי
העץ.
עתה נרצה להוסיף פעולות ממשק שיאפשרו לקרוא את תוכנו של
צומת בעץ ולשנות אותו.
SCE-Chapter-20-Binary Trees Shayke Bilu PhD
עץ בינארי
18
נשים לב כי לאחר ההחלפה "יאבד" התת-עץ המקורי ,שכן אין דרך
לגשת אליו מתוך .Tלכן בדרך כלל נבצע החלפה כזו רק כאשר התת-עץ
המקורי הוא ריק.
נניח שנתון העץ הבינארי T1כמקודם ,כאשר קראנו בשם T2לתת-העץ
ששורשו הוא .D
נניח גם שנתון העץ הבינארי ,T3המורכב מעלה המכיל את הערך '.'H
T1 מה יקרה בעקבות ההוראות:
החלף-תת-עץ-שמאלי ()T2,T3
T2 החלף-תת-עץ-ימני ()T2,T3
אם נסמן ב n-את מס' הצמתים בעץ ,Tמהי סיבוכיות זמן הריצה
של האלגוריתם?
SCE-Chapter-20-Binary Trees Shayke Bilu PhD
עץ בינארי
25
?שאלות
G H
G H
A
G H
A
A
A,B
A,B
A,B
A,B,D
A,B,D
A,B,D
A,B,D
A )(Tסרוק-בסדר-תחילי
)(T
)(T תחילי בסדר-
ריק? לא -עץ-סרוק
אם
)(1
B C )(Tתחילי
)(T ? בסדר-
ריק - עץ לא-
סרוק
אם
)(1
)(T בשורש בקר )(1.2
)(T בקר-ריק?
אם לא עץ )(1
תת-עץ-שמאלי)((T תחילי))(Tבשורש-
) (1.2סרוק-בסדר)(1.1
שמאלי בקר-בשורש)(T )(1.1
D E F )((T)((T עץ-ימני
תת-עץ- תחילי)
תת)- בסדר--תחילי
סרוק-בסדר
) (1.1סרוק
)(1.3
שמאלי
)((T)((T עץ-ימני
תת-עץ-תחילי)
תת)- בסדר--תחילי
סרוק--בסדר
) (1.2סרוק
)(1.3
G H תת-עץ-ימני)((T ) (1.3סרוק-בסדר-תחילי)
A,B,D
A,B,D
A,B,D
A,B,D
A,B,D
A,B,D,E
A,B,D,E
A,B,D,E
A,B,D,E,G
G H
A,B,D,E,G
A,B,D,E,G
A,B,D,E,G,C
A,B,D,E,G,C
A,B,D,E,G,C
A,B,D,E,G,C,F
A,B,D,E,G,C,F
A,B,D,E,G,C,F
A,B,D,E,G,C,F,H
B C
D E F
G H
A,B,D,E,G,C,F,H
?שאלות
?שאלות