הרצאה 5 נושא :עצים נגדיר מבנה הנקרא עץ:
ʵ ʲ ʤʹ ʸ ʥ ʹ
ʭʩ ʴ ʰʲ
עץ בנוי מ -קודקודים או צמתים ומקשתות הגדרה רקורסיבית של עץ .1קבוצה ריקה הוא עץ .2צומת בודד הוא עץ .3יהיו T1,T2,T3…Tkעצים עם שורשים n1,n2,n3..nkבהתאמה יהיה nצומת חדשה ונעביר קשתות מ nל n1,n2,n3 -ונקבל:
n
n3
T3
n2
n1
T2
T1
קיבלנו עץ חדש בעל שורש nעבורו T1,T2,T3…Tkהם תתי-עצים n
n3
n1
n2
n6
n5
n4
לעצים n1,n2נקרא הילדים של n לצמתים n4,n5,n6נקרא הילדים של n N3,n4,n5נקרא הצאצאים של n לצמתים n4,n5,n6נקרא אחים לצומת nנקרא אב (ההורה) של n1,n2 לצומת nנקרא אב הקדמון של n4,n5,n6 מסלול path :הוא סדרה n1,n2..nkשל צמתים בעץ כך ש niהוא ההורה של ni+1 i<=k=<1 למשל בעץ שבציור יש מסלול
N n1 n5 N n1n5n7 אורך המסלול = מס' הקשתות במסלול למשל למסלול N n1n5 אורך המסלול = 2
דוגמא: n
n1
n3
n2
n7
n4
n5
n8
niהוא אב קדמון של njאם קיים מסלול בין niל njלמשל n2הוא אב קדמון של n8 N2n7n8 גובה העץ = אורך המסלול הארוך ביותר משורש העץ לעלה למשל גובה העץ שבדוגמה = 3 עומק הקודקודים = אורך המסלול משורש העץ אל הצומת למשל עומק הצומת n1,n2 = 1 עומק של n3,n4,n5,n7 = 2
עומק של n8 = 3 לכל צומת יש אב אחד דרגה של צומת: שווה למספר הילדים שלו למשל הדרגה של n=2הדרגה של n1=1
עץ בינארי בי = 2 עצים בעלי דרגה <= 2נקראים עצים בינאריים במילים פאוטות אלה עצים שכל צומת בהם בעל 2או פחות ילדים. דוגמה
עץ בינארי מלא זה עץ בו דרגה של כל צומת פרט לעלים שווה ל 2 דוגמה: לעצים פנימיים יש דרגה 2לעלים יש דרגה 0
עץ בינארי שלם זה עץ שבו כל העלים נמצאים באותו עומק וכל הצמתים הפנימיים בעלי דרגה 2
דוגמה:
עץ כמעט שלם הוא בעל דרגה 2בצמתים הפנימיים וכל העלים שלו נמצאים באותו עומק וחסרים לו מספר עלים
עץ -kנרי עץ בעל דרגה קטנה\שווה ל k
עץ בינארי יש בו ילדים משני סוגים – בן שמאלי ובן ימני טענה :מספר הצמתים המקסימלי בעומק nשווה ל- )1עבור עץ בעל עומק :0
יש צמת אחת )2עבור עץ בעל עומק :1
יש בו 2 )3עבור עץ בעל עומק :2
יש בו 4 )4בעומק :3 8 = 3^2וכו.. טענה: מספר הצמתים הכולל המקסימלי בעץ בינרי בגובה :n n+1( -1(^2 הוכחה
()1בעץ בעל גובה ( )n=0יש 0צמתים פנימיים ו 1עלה סה"כ מס' מקסימלי כולל של צמתים שווה ל1 – 1^2 - ()2בעץ בעל גובה 1יש לכל היותר 1- 2^2=3צמתים ( 2עלים +שורש) ()3נניח כח הטענה מתקיימת לעץ בגובה k=nכלומר מתקיים כי מס' הצמתים המקסימלי בו שווה ל n+1( -1(^2 ()4נסתכל על עץ בעל גובה k=n+1 כיוון שעץ בעל גובה nהוה בעל כמות מקסימלית של צמתים עץ בעל גובה ( )n+1יראה כמוהו עד לרמה nוברמה n+1יופיעו צמתים נוספים מכאן מספר מקסימלי של צמתים בעץ בעל גובה n+1שווה ל- )2^)n+1( -1(+2^)n+1( = 2*2^)n+1( -1 = 2^)n+2( -1 מס' הצמתים המקסימלי בעומק N+1 פעולות בסיסיות בעצים (Create_tree)1 ( Create node)2יצירת צומת ( Init_node)3איתחול צומת
nמספר צמתים בעץ בעל גובה