C Programming chapter 20

71
Shayke Bilu PhD SCE-Chapter-20-Binary Trees קורס תכנות בשפתC ד" ר שייקה בילו יועץ ומרצה בכיר למדעי המחשב וטכנולוגית מידע מומחה למערכות מידע חינוכיות, אקדמיות ומנהליות1 פרק20 מבני נתונים עצים בינארייםBinary Trees

Transcript of C Programming chapter 20

Shayke Bilu PhD SCE-Chapter-20-Binary Trees

Cקורס תכנות בשפת

בילור שייקה "ד

יועץ ומרצה בכיר למדעי המחשב וטכנולוגית מידע

ומנהליותאקדמיות , למערכות מידע חינוכיותמומחה

1

20פרק

עצים בינאריים –מבני נתונים

Binary Trees

חידה לחימום

Shayke Bilu PhD

2

1,2,3המספרים,…,N כאשר )מסודרים בשורהN הוא מספר

(.זוגי

על שני * או -, +כל שחקן מפעיל בתורו את אחד מהאופרטורים

ורושם את התוצאה במקום שני , מספרים סמוכים כרצונו

.המספרים

המשחק מסתיים כאשר נותר מספר אחד בלבד.

השחקן הראשון מנצח -זוגי -אם המספר שנותר אחרון הוא אי .

.השחקן השני מנצח –שנותר אחרון זוגי ' ואם המס

פתחו אסטרטגיה מנצחת עבור אחד השחקנים.

SCE-Chapter-20-Binary Trees

עצים

Shayke Bilu PhD

3

יישומים רבים במחשב עושים שימוש בעצים.

כוננים )מבנה התיקיות בדיסק הקשיח מאורגן בצורת עצים , לדוגמא

, משנה-שמכילות תיקיות, משנה-שמכילות תיקיות, שמכילים תיקיות

(.'וכו

ב פרוייקט-Microsoft Visual C++ מסוגים , מכיל קבצים רבים

.המאורגנים בצורת עץ, שונים

נגדיר מושגים לגבי

ולאחר מכן, עצים כלליים

נעסוק בעיקר בסוג מסוים

של עצים הנקראים

.'עצים בינאריים'

SCE-Chapter-20-Binary Trees

עצים

Shayke Bilu PhD

4

נתון עץ(tree) ,ונגדיר עליו את המושגים הבאים: צומת(node )– איבר בעץ.

הורה(parent )– איבר קודם לצומת.

ילד(child )– איבר עוקב לצומת.

שורש(root )– צומת שאין לו הורה.

עלה(leaf )– צומת שאין לו ילדים.

אחים(siblings )– צמתים שהם ילדים לאותו הורה.

כמה עלים יש בעץ זה?

A

N M O L

K

G

C E F H I

D B

P

J

SCE-Chapter-20-Binary Trees

עצים

Shayke Bilu PhD

5

נוספותהגדרות: אם , צאצא של צומת אחרצומת הוא –( descendant)צאצא

.או אם הוא צאצא של ילדו, ילדוהוא

נשים לב שהגדרת הצאצא היא רקורסיבית.

הצומתK הוא צאצא של כמה צמתים? הצומתK הוא צאצא שלA , צאצא שלC וצאצא שלG.

A

N M O L

K

G

C

E F H I

D B

P

J

SCE-Chapter-20-Binary Trees

עצים

Shayke Bilu PhD SCE-Chapter-20-Binary Trees

6

עוד הגדרות:

הורה קדמון(ancestor) – של צומת אחר' הורה קדמון'צומת ייקרא ,

.אם הוא הורה שלו או אם הוא הורה קדמון של הורהו

עץ -תת(sub tree )– עץ זה . צומת וצאצאיו מהווים עץ בפני עצמו

.עץ של העץ המקורי-הוא תת

בכחול הצמתים הצבועים

. עץ של העץ המקורי-תתמהווים

.Kהעץ הזה הוא הצומת -של תתשורשו

A

N M O L

K

G

C

E F H I

D B

P

J

עצים

Shayke Bilu PhD SCE-Chapter-20-Binary Trees

7

האם הטענה הבאה נכונה או שקריתקבעו:

הצומתA בעץכל הצמתים קדמון של -הוא הורה.

עץ מציית לכמה כללים:

בעץ קיים רק שורש אחד.

לכל צומת שאינו השורש

.הורה יחידיש

הוא ( לבד מהשורש)כל צומת

.השורששל צאצא

A

N M O L

K

G

C

E F H I

D B

P

J

Shayke Bilu PhD

8

?שאלות

SCE-Chapter-20-Binary Trees

עץ בינארי

Shayke Bilu PhD SCE-Chapter-20-Binary Trees

9

עץ בינארי(Binary Tree ) הוא עץ שיש בו לכל היותר שני ילדים

.את הילדים נכנה הילד השמאלי והילד הימני. לצומת

הוא שורש של עץ, אם הוא קיים, כל אחד מאלה:

שמאלי עץ -תתהילד השמאלי הוא שורשו של(left sub tree.)

ימני עץ -תתהילד הימני הוא שורשו של(right sub tree.)

נמק והסבר, מצא? העצים בשקף הבא הוא עץ בינארימי מבין.

בעץ ופחות , בעיקר בוולכן נעסוק , שימושי מ"טנהוא עץ בינארי

.כללי

עץ בינארי

Shayke Bilu PhD SCE-Chapter-20-Binary Trees

10

עץ בינארי

Shayke Bilu PhD SCE-Chapter-20-Binary Trees

11

רמה(level ) המסלול של צומת מסוים בעץ היא אורך

.המרחק של הצומת מהשורש –כלומר , מהשורש אליו

גדולה בעץ והרמה של כל צומת אחר , 0תמיד רמת השורש היא

.של ההורה שלומהרמה ( 1)באחד

גובה עץ(tree height ) הוא המרחק

מהשורש לעלה כלשהו של הגדול ביותר

זוהי הרמה הגבוהה –כלומר , העץ

.של העץביותר

מהו גובה העץ?

עץ בינארי

Shayke Bilu PhD SCE-Chapter-20-Binary Trees

12

כלומר , גם עץ בינארי יכול להיות ריק, בדומה למחסנית או תור–

, עץ השמאלי-ייתכן שהתת, כאשר העץ אינו ריק. בלי צמתים כלל

.הימני או שניהם גם יחד ריקים

עצים של עלה-מה נוכל לומר על התת?

נשים לב שניתן להגדיר עץ בינארי גם באופן רקורסיבי:

(בלתי צמתים, כלומר)עץ ריק : עץ בינארי הוא

אחדשכל , ימני ושמאלי, עצים-שורש ושני תת :או

. בינאריהוא עץ מהם

אין –כלומר , עצים בינאריים אלו זרים זה לזהשני

.להם צמתים משותפים

עץ בינארי

Shayke Bilu PhD SCE-Chapter-20-Binary Trees

13

לכתוב בקלות הרקורסיבית הזו מאפשרת ההגדרה

.עצים בינארייםשפועלים על רקורסיביים אלגוריתמים

1תרגול –בינארי עץ

Shayke Bilu PhD SCE-Chapter-20-Binary Trees

14

הבא עברו עליו והשלימונתון העץ הבינארי:

הצמתים בעץ הוא ' מס1.

העלים בעץ הוא ' מס2.

הוא Eעץ השמאלי של -השורש של תת3.

.4W של הואC

.5C של הואB

הגובה של העץ הוא 6.

הם Eהצאצאים של 7.

בעץ הם 2הצמתים ברמה 8.

Shayke Bilu PhD SCE-Chapter-20-Binary Trees

15

ציינו האם היא נכונה או לא, עבור כל אחת מהטענות הבאות:

•B הוא צאצא שלE ,C ו-W.

•S ו-K הם אחים.

.יש שני ילדים E-ל•

•K 3הוא ברמה.

אם הצמתים נמצאים באותה •

.הם אחיםאז , רמה

•C הוא הורה קדמון שלE ו-B.

2תרגול –בינארי עץ

Shayke Bilu PhD SCE-Chapter-20-Binary Trees

16

עץ בינארי'( מ"טנ)נבנה ממשק עבור טיפוס הנתונים המופשט'.

ופעולת ממשק , עץ שמחזירה עץ בינארי ריק-נגדיר פעולת ממשק בשם אתחל

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

עצים שלו הם העצים שהועברו -ושני התת, שבשורשו עומד האיבר

.כפרמטרים

נביט באלגוריתם הבא, לדוגמא:

עץ -אתחל T1

עץ -אתחל T2

עץ-בנה (T1,T2,7 ) T3

נניח ש- T4 ו-T5 הם העצים הבאים:

לאחר שמבצעים את ההוראה הבאה

?T6יראה העץ כיצד T6( ’T4,T5,’e) עץ-בנה

T1 T2

T3 7

T5 T4

T6

3תרגול –עץ בינארי

עץ בינארי

Shayke Bilu PhD SCE-Chapter-20-Binary Trees

17

גישה –האחת : כדי לנוע על העץ נזדקק לשתי פעולות ממשק

-גישה מצומת אל התת –והאחרת , עץ השמאלי-מצומת אל התת

.עץ הימני

עץ שמאלי מקבלת עץ בינארי שאינו ריק-פעולת הממשק תת ,

. עץ השמאלי של שורשו-ומחזירה את התת

עץ ימני-באופן דומה מגדירים את פעולת הממשק תת.

באמצעות שתי פעולות ממשק אלה נוכל להגיע לכל אחד מצומתי

.העץ

עתה נרצה להוסיף פעולות ממשק שיאפשרו לקרוא את תוכנו של

. צומת בעץ ולשנות אותו

עץ בינארי

Shayke Bilu PhD SCE-Chapter-20-Binary Trees

18

מספיק להגדיר , עץ-שכל צומת הוא שורש של תתמכיוון

. ועדכון לשורשאחזור פעולות

שורש מקבלת עץ בינארי ומחזירה את -פעולת הממשק אחזר

.תוכן שורשו

ומשנה את , שורש מקבלת עץ ואיבר-פעולת הממשק עדכן

.התוכן של השורש להיות האיבר הנתון

שתי פעולות הממשק הללו לא תהיינה מוגדרות על עץ ריק.

עץ בינארי

Shayke Bilu PhD SCE-Chapter-20-Binary Trees

19

1נניח שנתון העץ הבינאריT הבא:

איזה עץ בינארי נקבל בעקבות ההוראה: ( T1) ימני-עץ-תת

( T1) שמאלי-עץ-תת

נניח שהעץ הבינארי ששורשו

.T2נקרא Dמכיל את הערך

איזה עץ בינארי נקבל בעקבות ההוראה: ( T2) ימני-עץ-תת

( T2) שמאלי-עץ-תת

איזה ערך נקבל בעקבות ביצוע ההוראה: ( T1) שורש-אחזר

איך ישתנה העץ בעקבות ביצוע ההוראה: ( T1,Q) שורש-עדכן

( T1, (T2) שורש-אחזר) שורש-עדכן

T1

T2

עץ בינארי

Shayke Bilu PhD SCE-Chapter-20-Binary Trees

20

נגדיר פעולות ממשק הבודקות ומשנות את מבנהו של העץ.

הבודקת האם עץ בינארי נתון ? ריק-נגדיר פעולת ממשק בשם עץ

.הוא ריק

עץ של צומת -נגדיר שתי פעולות ממשק המחליפות תת, כמו כן

:בעץ אחר

שמאלי תקבל עץ בינארי -עץ-תת-פעולת הממשק החלףT ועץ בינארי

new_tree ,עץ השמאלי של -ותחליף את התתT ב-new_tree.

ימני מוגדרת בהתאמה-עץ-תת-פעולת הממשק החלף.

עץ בינארי

Shayke Bilu PhD SCE-Chapter-20-Binary Trees

21

שכן אין דרך , עץ המקורי-התת" יאבד"לב כי לאחר ההחלפה נשים

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

.המקורי הוא ריק

נניח שנתון העץ הבינאריT1 בשם כאשר קראנו , כמקודםT2 העץ -לתת

.Dששורשו הוא

נניח גם שנתון העץ הבינאריT3 , את הערך מעלה המכיל המורכב'H' .

מה יקרה בעקבות ההוראות:

(T2,T3) שמאלי-עץ-תת-החלף

(T2,T3) ימני-עץ-תת-החלף

T1

T2

עץ בינארי

Shayke Bilu PhD SCE-Chapter-20-Binary Trees

22

עץ-אתחל פעולה המחזירה עץ בינארי ריק

עץ השמאלי -התת, xפעולה המחזירה עץ בינארי שבשורשו האיבר

.Rעץ הימני שלו -והתת, Lשלו

.מאותחלים R-ו Lהעצים : הנחות

(L,R,x)עץ -בנה

.Tעץ השמאלי של -פעולה המחזירה את התת

.מאותחל ואינו ריק T: הנחות

(T)שמאלי -עץ-תת

.Tעץ הימני של -פעולה המחזירה את התת

.מאותחל ואינו ריק T: הנחות

(T)ימני -עץ-תת

בעץ הבינארי Tעץ השמאלי של -פעולה המחליפה את התת

new_tree.

.איננו ריק T, מאותחלים new_tree -ו Tהעצים : הנחות

שמאלי -עץ-תת-החלף

(T,new_tree)

:'עץ בינארי' מ"טנהממשק של

עץ בינארי

Shayke Bilu PhD SCE-Chapter-20-Binary Trees

23

:'עץ בינארי'מ "הממשק של טנ

בעץ הבינארי Tעץ הימני של -פעולה המחליפה את התת

new_tree.

.איננו ריק T, מאותחלים new_tree -ו Tהעצים : הנחות

ימני -עץ-תת-החלף

(T,new_tree)

T: הנחות .Tפעולה המחזירה את האיבר שבשורשו של

.מאותחל ואיננו ריק

(T)שורש -אחזר

.xלהיות Tפעולה המשנה את התוכן של שורש

מאותחל ואיננו ריק T: הנחות

(T,x)שורש -עדכן

, הוא עץ ריק Tאם העץ הבינארי ' אמת'פעולה המחזירה

.אחרת' שקר'ו

.מאותחל T: הנחה

(T)?ריק-עץ

עץ בינארי

Shayke Bilu PhD SCE-Chapter-20-Binary Trees

24

המקבל עץ בינארי ? נכתוב אלגוריתם בשם עלהT , אמת'ומחזיר '

.אם לא' שקר'-ו, הוא עלה Tאם

( T) עלה

:אזי, ( T) ?ריק-אם עץ

'שקר'החזר

:אחרת

וגם ( ( T) ימני-עץ-תת) ?ריק-החזר עץ

( (T) שמאלי-עץ-תת) ?ריק-עץ

אם נסמן ב-n הצמתים בעץ ' את מסT , מהי סיבוכיות זמן הריצה

?של האלגוריתם

עץ בינארי

Shayke Bilu PhD SCE-Chapter-20-Binary Trees

25

(ימני-עץ-תת (T ) ) +סוד (שמאלי-עץ-תת (T) )

על העץ הבינארי הבא' סוד'הפעילו את האלגוריתם הרקורסיבי , .'סוד'תנו לאלגוריתם שם משמעותי במקום . וקבעו מה הוא מבצע

נסמן ב-n הצמתים בעץ הבינארי ' את מסT .

סיבוכיות האלגוריתםמהי?

עץ בינארי

Shayke Bilu PhD SCE-Chapter-20-Binary Trees

26

המקבל כפרמטר עץ בינארי , לפניכם האלגוריתם הבאT , ומחזיר :שלם' מס

( T) סוד

:אזי, ( T) ?ריק-עץאם 0החזר

:אחרת ( ( T) ימני-עץ-תת) סוד+ (T) שורש-אחזרהחזר

( (T) שמאלי-עץ-תת) סוד+

עץ בינארי

Shayke Bilu PhD SCE-Chapter-20-Binary Trees

27

על העץ הבינארי ' סוד'הפעילו את האלגוריתם הרקורסיביתנו לאלגוריתם שם משמעותי . וקבעו מה הוא מבצע, הבא

.'סוד'במקום

נסמן ב-n הצמתים בעץ הבינארי ' את מסT .

סיבוכיות האלגוריתםמהי?

האם אפשר היה לנסח תנאי עצירה אחר,

כך?, שימוש באלגוריתם עלההעושה

?עדיין יפתור את הבעיהשהאלגוריתם

Shayke Bilu PhD

28

?שאלות

SCE-Chapter-20-Binary Trees

סריקת עץ בינארי

Shayke Bilu PhD SCE-Chapter-20-Binary Trees

29

שימושים רבים בעץ בינארי מצריכים מעבר על איברי העץ

יש , למשל, בשני האלגוריתמים האחרונים שראינו. ללא חזרות

.לבקר בכל צומת בדיוק פעם אחת

על צמתי העץ ניתן לעבור בשלושה סוגי סדרים:

סריקה בסדר תחילתי(preorder traversal)

סריקה בסדר תֹוכי(inorder traversal)

סריקה בסדר סופי(postorder traversal)

סריקת עץ בינארי

Shayke Bilu PhD SCE-Chapter-20-Binary Trees

30

אך בכל , סוגי הסריקות מתבצעות הפעולות הבאותבשלושת

:סריקה הן מתבצעות בסדר שונה

ביקור בשורש העץ

העץ השמאלי-סריקה רקורסיבית של תת

העץ הימני-סריקה רקורסיבית של תת

הסריקה נקראת סריקה , אם הביקור בשורש מתבצע ראשון

בין שני )אם הביקור בשורש מתבצע בשלב השני . בסדר תחילי

ואם הביקור , אז זו סריקה בסדר תוכי( הזימונים הרקורסיביים

.בשורש מתבצע אחרון אז זו סריקה בסדר סופי

סריקת עץ בינארי

Shayke Bilu PhD SCE-Chapter-20-Binary Trees

31

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

ביקור בשורש העץ

העץ השמאלי-סריקה רקורסיבית של תת

העץ הימני-סריקה רקורסיבית של תת

"פירושו לבצע פעולה כלשהי על הצומת" ביקור בשורש העץ .

או להציג אותו , להוסיף את הערך שבצומת לצובר: לדוגמא

.'וכו, 1-להגדיל מונה ב, כפלט

סריקת עץ בינארי

Shayke Bilu PhD SCE-Chapter-20-Binary Trees

32

לא ממשיכים , העץ אינו קיים-כאשר תת, שלוש הסריקותבכל

.לרדת בכיוון זה של העץ

בכל סריקה מבקרים בכל צומת , מבחינת סיבוכיות זמן הריצה

אם , לכן. ומבצעים עליו כמות קבועה של פעולות, פעם אחת

ביצוע סריקה זו , הצמתים בעץ הבינארי' את מס n-נסמן ב

. Θ(n)שהסיבוכיות שלהה פעולה

נדגים כיצד פועל האלגוריתם הרקורסיבי לסריקה בסדר

(.preorder traversal)תחילתי

C

H

F

A

D

G

B

E

תחילי-בסדר-סרוק (T)

(1.1) בקר בשורש

(1.3)

(T)

((T) ימני-עץ-תת ) תחילי-בסדר-סרוק

(1) ? ריק-עץ (T) אם לא

((T) שמאלי-עץ-תת (1.2) ) תחילי-בסדר-סרוק

1

סריקת עץ בינארי

Shayke Bilu PhD SCE-Chapter-20-Binary Trees 33

C

H

F

A

D

G

B

E

A

תחילי-בסדר-סרוק (T)

(1.1) בקר בשורש

(1.3)

(T)

((T) ימני-עץ-תת ) תחילי-בסדר-סרוק

(1) ? ריק-עץ (T) אם לא

((T) שמאלי-עץ-תת (1.2) ) תחילי-בסדר-סרוק

1

Shayke Bilu PhD SCE-Chapter-20-Binary Trees 34

סריקת עץ בינארי

C

H

F

A

D

G

B

E

A

תחילי-בסדר-סרוק (T)

(1.1) בקר בשורש

(1.3)

(T)

((T) ימני-עץ-תת ) תחילי-בסדר-סרוק

(1) ? ריק-עץ (T) אם לא

((T) שמאלי-עץ-תת (1.2) ) תחילי-בסדר-סרוק

1

Shayke Bilu PhD SCE-Chapter-20-Binary Trees 35

סריקת עץ בינארי

C

H

F

A

D

G

B

E

A

תחילי-בסדר-סרוק (T)

(1.2) בקר בשורש

(1.3)

(T)

((T) ימני-עץ-תת ) תחילי-בסדר-סרוק

(1) ? ריק-עץ (T) אם לא

((T) שמאלי-עץ-תת (1.1) ) תחילי-בסדר-סרוק

תחילי-בסדר-סרוק (T)

(1.1) בקר בשורש

(1.3)

(T)

((T) ימני-עץ-תת ) תחילי-בסדר-סרוק

(1) ? ריק-עץ (T) אם לא

((T) שמאלי-עץ-תת (1.2) ) תחילי-בסדר-סרוק

1

2

Shayke Bilu PhD SCE-Chapter-20-Binary Trees 36

סריקת עץ בינארי

C

H

F

A

D

G

B

E

A,B

תחילי-בסדר-סרוק (T)

(1.2) בקר בשורש

(1.3)

(T)

((T) ימני-עץ-תת ) תחילי-בסדר-סרוק

(1) ? ריק-עץ (T) אם לא

((T) שמאלי-עץ-תת (1.1) ) תחילי-בסדר-סרוק

תחילי-בסדר-סרוק (T)

(1.1) בקר בשורש

(1.3)

(T)

((T) ימני-עץ-תת ) תחילי-בסדר-סרוק

(1) ? ריק-עץ (T) אם לא

((T) שמאלי-עץ-תת (1.2) ) תחילי-בסדר-סרוק

1

2

Shayke Bilu PhD SCE-Chapter-20-Binary Trees 37

סריקת עץ בינארי

C

H

F

A

D

G

B

E

A,B

תחילי-בסדר-סרוק (T)

(1.2) בקר בשורש

(1.3)

(T)

((T) ימני-עץ-תת ) תחילי-בסדר-סרוק

(1) ? ריק-עץ (T) אם לא

((T) שמאלי-עץ-תת (1.1) ) תחילי-בסדר-סרוק

תחילי-בסדר-סרוק (T)

(1.1) בקר בשורש

(1.3)

(T)

((T) ימני-עץ-תת ) תחילי-בסדר-סרוק

(1) ? ריק-עץ (T) אם לא

((T) שמאלי-עץ-תת (1.2) ) תחילי-בסדר-סרוק

1

2

Shayke Bilu PhD SCE-Chapter-20-Binary Trees 38

סריקת עץ בינארי

C

H

F

A

D

G

B

E

A,B

תחילי-בסדר-סרוק (T)

(1.2) בקר בשורש

(1.3)

(T)

((T) ימני-עץ-תת ) תחילי-בסדר-סרוק

(1) ? ריק-עץ (T) אם לא

((T) שמאלי-עץ-תת (1.1) ) תחילי-בסדר-סרוק

תחילי-בסדר-סרוק (T)

(1.2) בקר בשורש

(1.3)

(T)

((T) ימני-עץ-תת ) תחילי-בסדר-סרוק

(1) ? ריק-עץ (T) אם לא

((T) שמאלי-עץ-תת (1.1) ) תחילי-בסדר-סרוק

תחילי-בסדר-סרוק (T)

(1.1) בקר בשורש

(1.3)

(T)

((T) ימני-עץ-תת ) תחילי-בסדר-סרוק

(1) ? ריק-עץ (T) אם לא

((T) שמאלי-עץ-תת (1.2) ) תחילי-בסדר-סרוק

1

2

3

Shayke Bilu PhD SCE-Chapter-20-Binary Trees 39

סריקת עץ בינארי

C

H

F

A

D

G

B

E

A,B,D

תחילי-בסדר-סרוק (T)

(1.2) בקר בשורש

(1.3)

(T)

((T) ימני-עץ-תת ) תחילי-בסדר-סרוק

(1) ? ריק-עץ (T) אם לא

((T) שמאלי-עץ-תת (1.1) ) תחילי-בסדר-סרוק

תחילי-בסדר-סרוק (T)

(1.2) בקר בשורש

(1.3)

(T)

((T) ימני-עץ-תת ) תחילי-בסדר-סרוק

(1) ? ריק-עץ (T) אם לא

((T) שמאלי-עץ-תת (1.1) ) תחילי-בסדר-סרוק

תחילי-בסדר-סרוק (T)

(1.1) בקר בשורש

(1.3)

(T)

((T) ימני-עץ-תת ) תחילי-בסדר-סרוק

(1) ? ריק-עץ (T) אם לא

((T) שמאלי-עץ-תת (1.2) ) תחילי-בסדר-סרוק

1

2

3

Shayke Bilu PhD SCE-Chapter-20-Binary Trees 40

סריקת עץ בינארי

C

H

F

A

D

G

B

E

A,B,D

תחילי-בסדר-סרוק (T)

(1.2) בקר בשורש

(1.3)

(T)

((T) ימני-עץ-תת ) תחילי-בסדר-סרוק

(1) ? ריק-עץ (T) אם לא

((T) שמאלי-עץ-תת (1.1) ) תחילי-בסדר-סרוק

תחילי-בסדר-סרוק (T)

(1.2) בקר בשורש

(1.3)

(T)

((T) ימני-עץ-תת ) תחילי-בסדר-סרוק

(1) ? ריק-עץ (T) אם לא

((T) שמאלי-עץ-תת (1.1) ) תחילי-בסדר-סרוק

תחילי-בסדר-סרוק (T)

(1.1) בקר בשורש

(1.3)

(T)

((T) ימני-עץ-תת ) תחילי-בסדר-סרוק

(1) ? ריק-עץ (T) אם לא

((T) שמאלי-עץ-תת (1.2) ) תחילי-בסדר-סרוק

1

2

3

Shayke Bilu PhD SCE-Chapter-20-Binary Trees 41

סריקת עץ בינארי

C

H

F

A

D

G

B

E

A,B,D

תחילי-בסדר-סרוק (T)

(1.2) בקר בשורש

(1.3)

(T)

((T) ימני-עץ-תת ) תחילי-בסדר-סרוק

(1) ? ריק-עץ (T) אם לא

((T) שמאלי-עץ-תת (1.1) ) תחילי-בסדר-סרוק

תחילי-בסדר-סרוק (T)

(1.2) בקר בשורש

(1.3)

(T)

((T) ימני-עץ-תת ) תחילי-בסדר-סרוק

(1) ? ריק-עץ (T) אם לא

((T) שמאלי-עץ-תת (1.1) ) תחילי-בסדר-סרוק

תחילי-בסדר-סרוק (T)

(1.2) בקר בשורש

(1.3)

(T)

((T) ימני-עץ-תת ) תחילי-בסדר-סרוק

(1) ? ריק-עץ (T) אם לא

((T) שמאלי-עץ-תת (1.1) ) תחילי-בסדר-סרוק

תחילי-בסדר-סרוק (T)

(1.1) בקר בשורש

(1.3)

(T)

((T) ימני-עץ-תת ) תחילי-בסדר-סרוק

(1) ? ריק-עץ (T) אם לא

((T) שמאלי-עץ-תת (1.2) ) תחילי-בסדר-סרוק

1

2

3

4

Shayke Bilu PhD SCE-Chapter-20-Binary Trees 42

סריקת עץ בינארי

C

H

F

A

D

G

B

E

A,B,D

תחילי-בסדר-סרוק (T)

(1.2) בקר בשורש

(1.3)

(T)

((T) ימני-עץ-תת ) תחילי-בסדר-סרוק

(1) ? ריק-עץ (T) אם לא

((T) שמאלי-עץ-תת (1.1) ) תחילי-בסדר-סרוק

תחילי-בסדר-סרוק (T)

(1.2) בקר בשורש

(1.3)

(T)

((T) ימני-עץ-תת ) תחילי-בסדר-סרוק

(1) ? ריק-עץ (T) אם לא

((T) שמאלי-עץ-תת (1.1) ) תחילי-בסדר-סרוק

תחילי-בסדר-סרוק (T)

(1.2) בקר בשורש

(1.3)

(T)

((T) ימני-עץ-תת ) תחילי-בסדר-סרוק

(1) ? ריק-עץ (T) אם לא

((T) שמאלי-עץ-תת (1.1) ) תחילי-בסדר-סרוק

תחילי-בסדר-סרוק (T)

(1.1) בקר בשורש

(1.3)

(T)

((T) ימני-עץ-תת ) תחילי-בסדר-סרוק

(1) ? ריק-עץ (T) אם לא

((T) שמאלי-עץ-תת (1.2) ) תחילי-בסדר-סרוק

1

2

3

4

Shayke Bilu PhD SCE-Chapter-20-Binary Trees 43

סריקת עץ בינארי

C

H

F

A

D

G

B

E

A,B,D

תחילי-בסדר-סרוק (T)

(1.2) בקר בשורש

(1.3)

(T)

((T) ימני-עץ-תת ) תחילי-בסדר-סרוק

(1) ? ריק-עץ (T) אם לא

((T) שמאלי-עץ-תת (1.1) ) תחילי-בסדר-סרוק

תחילי-בסדר-סרוק (T)

(1.2) בקר בשורש

(1.3)

(T)

((T) ימני-עץ-תת ) תחילי-בסדר-סרוק

(1) ? ריק-עץ (T) אם לא

((T) שמאלי-עץ-תת (1.1) ) תחילי-בסדר-סרוק

תחילי-בסדר-סרוק (T)

(1.1) בקר בשורש

(1.3)

(T)

((T) ימני-עץ-תת ) תחילי-בסדר-סרוק

(1) ? ריק-עץ (T) אם לא

((T) שמאלי-עץ-תת (1.2) ) תחילי-בסדר-סרוק

Shayke Bilu PhD SCE-Chapter-20-Binary Trees 44

סריקת עץ בינארי

C

H

F

A

D

G

B

E

A,B,D

תחילי-בסדר-סרוק (T)

(1.2) בקר בשורש

(1.3)

(T)

((T) ימני-עץ-תת ) תחילי-בסדר-סרוק

(1) ? ריק-עץ (T) אם לא

((T) שמאלי-עץ-תת (1.1) ) תחילי-בסדר-סרוק

תחילי-בסדר-סרוק (T)

(1.2) בקר בשורש

(1.3)

(T)

((T) ימני-עץ-תת ) תחילי-בסדר-סרוק

(1) ? ריק-עץ (T) אם לא

((T) שמאלי-עץ-תת (1.1) ) תחילי-בסדר-סרוק

תחילי-בסדר-סרוק (T)

(1.2) בקר בשורש

(1.3)

(T)

((T) ימני-עץ-תת ) תחילי-בסדר-סרוק

(1) ? ריק-עץ (T) אם לא

((T) שמאלי-עץ-תת (1.1) ) תחילי-בסדר-סרוק

תחילי-בסדר-סרוק (T)

(1.1) בקר בשורש

(1.3)

(T)

((T) ימני-עץ-תת ) תחילי-בסדר-סרוק

(1) ? ריק-עץ (T) אם לא

((T) שמאלי-עץ-תת (1.2) ) תחילי-בסדר-סרוק

1

2

3

4

Shayke Bilu PhD SCE-Chapter-20-Binary Trees 45

סריקת עץ בינארי

C

H

F

A

D

G

B

E

A,B,D

תחילי-בסדר-סרוק (T)

(1.2) בקר בשורש

(1.3)

(T)

((T) ימני-עץ-תת ) תחילי-בסדר-סרוק

(1) ? ריק-עץ (T) אם לא

((T) שמאלי-עץ-תת (1.1) ) תחילי-בסדר-סרוק

תחילי-בסדר-סרוק (T)

(1.2) בקר בשורש

(1.3)

(T)

((T) ימני-עץ-תת ) תחילי-בסדר-סרוק

(1) ? ריק-עץ (T) אם לא

((T) שמאלי-עץ-תת (1.1) ) תחילי-בסדר-סרוק

תחילי-בסדר-סרוק (T)

(1.2) בקר בשורש

(1.3)

(T)

((T) ימני-עץ-תת ) תחילי-בסדר-סרוק

(1) ? ריק-עץ (T) אם לא

((T) שמאלי-עץ-תת (1.1) ) תחילי-בסדר-סרוק

תחילי-בסדר-סרוק (T)

(1.1) בקר בשורש

(1.3)

(T)

((T) ימני-עץ-תת ) תחילי-בסדר-סרוק

(1) ? ריק-עץ (T) אם לא

((T) שמאלי-עץ-תת (1.2) ) תחילי-בסדר-סרוק

1

2

3

4

Shayke Bilu PhD SCE-Chapter-20-Binary Trees 46

סריקת עץ בינארי

C

H

F

A

D

G

B

E

A,B,D

תחילי-בסדר-סרוק (T)

(1.2) בקר בשורש

(1.3)

(T)

((T) ימני-עץ-תת ) תחילי-בסדר-סרוק

(1) ? ריק-עץ (T) אם לא

((T) שמאלי-עץ-תת (1.1) ) תחילי-בסדר-סרוק

תחילי-בסדר-סרוק (T) (1) ? ריק-עץ (T) תחילי-בסדר-סרוק אם לא (T) תחילי-בסדר-סרוק (T)

(1.1) בקר בשורש

(1.3)

(T)

((T) ימני-עץ-תת ) תחילי-בסדר-סרוק

(1) ? ריק-עץ (T) אם לא

((T) שמאלי-עץ-תת (1.2) ) תחילי-בסדר-סרוק

1

2

Shayke Bilu PhD SCE-Chapter-20-Binary Trees 47

סריקת עץ בינארי

C

H

F

A

D

G

B

E

A,B,D

תחילי-בסדר-סרוק (T)

(1.2) בקר בשורש

(1.3)

(T)

((T) ימני-עץ-תת ) תחילי-בסדר-סרוק

(1) ? ריק-עץ (T) אם לא

((T) שמאלי-עץ-תת (1.1) ) תחילי-בסדר-סרוק

תחילי-בסדר-סרוק (T) (1) ? ריק-עץ (T) תחילי-בסדר-סרוק אם לא (T) תחילי-בסדר-סרוק (T)

(1.2) בקר בשורש

(1.3)

(T)

((T) ימני-עץ-תת ) תחילי-בסדר-סרוק

(1) ? ריק-עץ (T) אם לא

((T) שמאלי-עץ-תת (1.1) ) תחילי-בסדר-סרוק

תחילי-בסדר-סרוק (T)

(1.1) בקר בשורש

(1.3)

(T)

((T) ימני-עץ-תת ) תחילי-בסדר-סרוק

(1) ? ריק-עץ (T) אם לא

((T) שמאלי-עץ-תת (1.2) ) תחילי-בסדר-סרוק

1

2

3

Shayke Bilu PhD SCE-Chapter-20-Binary Trees 48

סריקת עץ בינארי

C

H

F

A

D

G

B

E

A,B,D,E

תחילי-בסדר-סרוק (T)

(1.2) בקר בשורש

(1.3)

(T)

((T) ימני-עץ-תת ) תחילי-בסדר-סרוק

(1) ? ריק-עץ (T) אם לא

((T) שמאלי-עץ-תת (1.1) ) תחילי-בסדר-סרוק

תחילי-בסדר-סרוק (T) (1) ? ריק-עץ (T) תחילי-בסדר-סרוק אם לא (T) תחילי-בסדר-סרוק (T)

(1.2) בקר בשורש

(1.3)

(T)

((T) ימני-עץ-תת ) תחילי-בסדר-סרוק

(1) ? ריק-עץ (T) אם לא

((T) שמאלי-עץ-תת (1.1) ) תחילי-בסדר-סרוק

תחילי-בסדר-סרוק (T)

(1.1) בקר בשורש

(1.3)

(T)

((T) ימני-עץ-תת ) תחילי-בסדר-סרוק

(1) ? ריק-עץ (T) אם לא

((T) שמאלי-עץ-תת (1.2) ) תחילי-בסדר-סרוק

1

2

3

Shayke Bilu PhD SCE-Chapter-20-Binary Trees 49

סריקת עץ בינארי

C

H

F

A

D

G

B

E

A,B,D,E

תחילי-בסדר-סרוק (T)

(1.2) בקר בשורש

(1.3)

(T)

((T) ימני-עץ-תת ) תחילי-בסדר-סרוק

(1) ? ריק-עץ (T) אם לא

((T) שמאלי-עץ-תת (1.1) ) תחילי-בסדר-סרוק

תחילי-בסדר-סרוק (T) (1) ? ריק-עץ (T) תחילי-בסדר-סרוק אם לא (T) תחילי-בסדר-סרוק (T)

(1.2) בקר בשורש

(1.3)

(T)

((T) ימני-עץ-תת ) תחילי-בסדר-סרוק

(1) ? ריק-עץ (T) אם לא

((T) שמאלי-עץ-תת (1.1) ) תחילי-בסדר-סרוק

תחילי-בסדר-סרוק (T)

(1.1) בקר בשורש

(1.3)

(T)

((T) ימני-עץ-תת ) תחילי-בסדר-סרוק

(1) ? ריק-עץ (T) אם לא

((T) שמאלי-עץ-תת (1.2) ) תחילי-בסדר-סרוק

1

2

3

Shayke Bilu PhD SCE-Chapter-20-Binary Trees 50

סריקת עץ בינארי

C

H

F

A

D

G

B

E

A,B,D,E

תחילי-בסדר-סרוק (T)

(1.2) בקר בשורש

(1.3)

(T)

((T) ימני-עץ-תת ) תחילי-בסדר-סרוק

(1) ? ריק-עץ (T) אם לא

((T) שמאלי-עץ-תת (1.1) ) תחילי-בסדר-סרוק

תחילי-בסדר-סרוק (T) (1) ? ריק-עץ (T) תחילי-בסדר-סרוק אם לא (T) תחילי-בסדר-סרוק (T)

(1.2) בקר בשורש

(1.3)

(T)

((T) ימני-עץ-תת ) תחילי-בסדר-סרוק

(1) ? ריק-עץ (T) אם לא

((T) שמאלי-עץ-תת (1.1) ) תחילי-בסדר-סרוק

תחילי-בסדר-סרוק (T)

(1.2) בקר בשורש

(1.3)

(T)

((T) ימני-עץ-תת ) תחילי-בסדר-סרוק

(1) ? ריק-עץ (T) אם לא

((T) שמאלי-עץ-תת (1.1) ) תחילי-בסדר-סרוק

תחילי-בסדר-סרוק (T)

(1.1) בקר בשורש

(1.3)

(T)

((T) ימני-עץ-תת ) תחילי-בסדר-סרוק

(1) ? ריק-עץ (T) אם לא

((T) שמאלי-עץ-תת (1.2) ) תחילי-בסדר-סרוק

1

2

3

4

Shayke Bilu PhD SCE-Chapter-20-Binary Trees 51

סריקת עץ בינארי

C

H

F

A

D

G

B

E

A,B,D,E,G

תחילי-בסדר-סרוק (T)

(1.2) בקר בשורש

(1.3)

(T)

((T) ימני-עץ-תת ) תחילי-בסדר-סרוק

(1) ? ריק-עץ (T) אם לא

((T) שמאלי-עץ-תת (1.1) ) תחילי-בסדר-סרוק

תחילי-בסדר-סרוק (T) (1) ? ריק-עץ (T) תחילי-בסדר-סרוק אם לא (T) תחילי-בסדר-סרוק (T)

(1.2) בקר בשורש

(1.3)

(T)

((T) ימני-עץ-תת ) תחילי-בסדר-סרוק

(1) ? ריק-עץ (T) אם לא

((T) שמאלי-עץ-תת (1.1) ) תחילי-בסדר-סרוק

תחילי-בסדר-סרוק (T)

(1.2) בקר בשורש

(1.3)

(T)

((T) ימני-עץ-תת ) תחילי-בסדר-סרוק

(1) ? ריק-עץ (T) אם לא

((T) שמאלי-עץ-תת (1.1) ) תחילי-בסדר-סרוק

תחילי-בסדר-סרוק (T)

(1.1) בקר בשורש

(1.3)

(T)

((T) ימני-עץ-תת ) תחילי-בסדר-סרוק

(1) ? ריק-עץ (T) אם לא

((T) שמאלי-עץ-תת (1.2) ) תחילי-בסדר-סרוק

1

2

3

4

Shayke Bilu PhD SCE-Chapter-20-Binary Trees 52

סריקת עץ בינארי

C

H

F

A

D

G

B

E

A,B,D,E,G

תחילי-בסדר-סרוק (T)

(1.1) בקר בשורש

(1.3)

(T)

((T) ימני-עץ-תת ) תחילי-בסדר-סרוק

(1) ? ריק-עץ (T) אם לא

((T) שמאלי-עץ-תת (1.2) ) תחילי-בסדר-סרוק

1

Shayke Bilu PhD SCE-Chapter-20-Binary Trees 53

סריקת עץ בינארי

C

H

F

A

D

G

B

E

A,B,D,E,G

תחילי-בסדר-סרוק (T)

(1.2) בקר בשורש

(1.3)

(T)

((T) ימני-עץ-תת ) תחילי-בסדר-סרוק

(1) ? ריק-עץ (T) אם לא

((T) שמאלי-עץ-תת (1.1) ) תחילי-בסדר-סרוק

תחילי-בסדר-סרוק (T)

(1.1) בקר בשורש

(1.3)

(T)

((T) ימני-עץ-תת ) תחילי-בסדר-סרוק

(1) ? ריק-עץ (T) אם לא

((T) שמאלי-עץ-תת (1.2) ) תחילי-בסדר-סרוק

1

2

Shayke Bilu PhD SCE-Chapter-20-Binary Trees 54

סריקת עץ בינארי

C

H

F

A

D

G

B

E

A,B,D,E,G,C

תחילי-בסדר-סרוק (T)

(1.2) בקר בשורש

(1.3)

(T)

((T) ימני-עץ-תת ) תחילי-בסדר-סרוק

(1) ? ריק-עץ (T) אם לא

((T) שמאלי-עץ-תת (1.1) ) תחילי-בסדר-סרוק

תחילי-בסדר-סרוק (T)

(1.1) בקר בשורש

(1.3)

(T)

((T) ימני-עץ-תת ) תחילי-בסדר-סרוק

(1) ? ריק-עץ (T) אם לא

((T) שמאלי-עץ-תת (1.2) ) תחילי-בסדר-סרוק

1

2

Shayke Bilu PhD SCE-Chapter-20-Binary Trees 55

סריקת עץ בינארי

C

H

F

A

D

G

B

E

A,B,D,E,G,C

תחילי-בסדר-סרוק (T)

(1.2) בקר בשורש

(1.3)

(T)

((T) ימני-עץ-תת ) תחילי-בסדר-סרוק

(1) ? ריק-עץ (T) אם לא

((T) שמאלי-עץ-תת (1.1) ) תחילי-בסדר-סרוק

תחילי-בסדר-סרוק (T)

(1.1) בקר בשורש

(1.3)

(T)

((T) ימני-עץ-תת ) תחילי-בסדר-סרוק

(1) ? ריק-עץ (T) אם לא

((T) שמאלי-עץ-תת (1.2) ) תחילי-בסדר-סרוק

1

2

Shayke Bilu PhD SCE-Chapter-20-Binary Trees 56

סריקת עץ בינארי

C

H

F

A

D

G

B

E

A,B,D,E,G,C

תחילי-בסדר-סרוק (T)

(1.2) בקר בשורש

(1.3)

(T)

((T) ימני-עץ-תת ) תחילי-בסדר-סרוק

(1) ? ריק-עץ (T) אם לא

((T) שמאלי-עץ-תת (1.1) ) תחילי-בסדר-סרוק

תחילי-בסדר-סרוק (T)

(1.2) בקר בשורש

(1.3)

(T)

((T) ימני-עץ-תת ) תחילי-בסדר-סרוק

(1) ? ריק-עץ (T) אם לא

((T) שמאלי-עץ-תת (1.1) ) תחילי-בסדר-סרוק

תחילי-בסדר-סרוק (T)

(1.1) בקר בשורש

(1.3)

(T)

((T) ימני-עץ-תת ) תחילי-בסדר-סרוק

(1) ? ריק-עץ (T) אם לא

((T) שמאלי-עץ-תת (1.2) ) תחילי-בסדר-סרוק

1

2

3

Shayke Bilu PhD SCE-Chapter-20-Binary Trees 57

סריקת עץ בינארי

C

H

F

A

D

G

B

E

A,B,D,E,G,C,F

תחילי-בסדר-סרוק (T)

(1.2) בקר בשורש

(1.3)

(T)

((T) ימני-עץ-תת ) תחילי-בסדר-סרוק

(1) ? ריק-עץ (T) אם לא

((T) שמאלי-עץ-תת (1.1) ) תחילי-בסדר-סרוק

תחילי-בסדר-סרוק (T)

(1.2) בקר בשורש

(1.3)

(T)

((T) ימני-עץ-תת ) תחילי-בסדר-סרוק

(1) ? ריק-עץ (T) אם לא

((T) שמאלי-עץ-תת (1.1) ) תחילי-בסדר-סרוק

תחילי-בסדר-סרוק (T)

(1.1) בקר בשורש

(1.3)

(T)

((T) ימני-עץ-תת ) תחילי-בסדר-סרוק

(1) ? ריק-עץ (T) אם לא

((T) שמאלי-עץ-תת (1.2) ) תחילי-בסדר-סרוק

1

2

3

Shayke Bilu PhD SCE-Chapter-20-Binary Trees 58

סריקת עץ בינארי

C

H

F

A

D

G

B

E

A,B,D,E,G,C,F

תחילי-בסדר-סרוק (T)

(1.2) בקר בשורש

(1.3)

(T)

((T) ימני-עץ-תת ) תחילי-בסדר-סרוק

(1) ? ריק-עץ (T) אם לא

((T) שמאלי-עץ-תת (1.1) ) תחילי-בסדר-סרוק

תחילי-בסדר-סרוק (T)

(1.2) בקר בשורש

(1.3)

(T)

((T) ימני-עץ-תת ) תחילי-בסדר-סרוק

(1) ? ריק-עץ (T) אם לא

((T) שמאלי-עץ-תת (1.1) ) תחילי-בסדר-סרוק

תחילי-בסדר-סרוק (T)

(1.1) בקר בשורש

(1.3)

(T)

((T) ימני-עץ-תת ) תחילי-בסדר-סרוק

(1) ? ריק-עץ (T) אם לא

((T) שמאלי-עץ-תת (1.2) ) תחילי-בסדר-סרוק

1

2

3

Shayke Bilu PhD SCE-Chapter-20-Binary Trees 59

סריקת עץ בינארי

C

H

F

A

D

G

B

E

A,B,D,E,G,C,F

תחילי-בסדר-סרוק (T)

(1.2) בקר בשורש

(1.3)

(T)

((T) ימני-עץ-תת ) תחילי-בסדר-סרוק

(1) ? ריק-עץ (T) אם לא

((T) שמאלי-עץ-תת (1.1) ) תחילי-בסדר-סרוק

תחילי-בסדר-סרוק (T)

(1.2) בקר בשורש

(1.3)

(T)

((T) ימני-עץ-תת ) תחילי-בסדר-סרוק

(1) ? ריק-עץ (T) אם לא

((T) שמאלי-עץ-תת (1.1) ) תחילי-בסדר-סרוק

תחילי-בסדר-סרוק (T)

(1.2) בקר בשורש

(1.3)

(T)

((T) ימני-עץ-תת ) תחילי-בסדר-סרוק

(1) ? ריק-עץ (T) אם לא

((T) שמאלי-עץ-תת (1.1) ) תחילי-בסדר-סרוק

תחילי-בסדר-סרוק (T)

(1.1) בקר בשורש

(1.3)

(T)

((T) ימני-עץ-תת ) תחילי-בסדר-סרוק

(1) ? ריק-עץ (T) אם לא

((T) שמאלי-עץ-תת (1.2) ) תחילי-בסדר-סרוק

1

2

3

4

Shayke Bilu PhD SCE-Chapter-20-Binary Trees 60

סריקת עץ בינארי

C

H

F

A

D

G

B

E

A,B,D,E,G,C,F,H

תחילי-בסדר-סרוק (T)

(1.2) בקר בשורש

(1.3)

(T)

((T) ימני-עץ-תת ) תחילי-בסדר-סרוק

(1) ? ריק-עץ (T) אם לא

((T) שמאלי-עץ-תת (1.1) ) תחילי-בסדר-סרוק

תחילי-בסדר-סרוק (T)

(1.2) בקר בשורש

(1.3)

(T)

((T) ימני-עץ-תת ) תחילי-בסדר-סרוק

(1) ? ריק-עץ (T) אם לא

((T) שמאלי-עץ-תת (1.1) ) תחילי-בסדר-סרוק

תחילי-בסדר-סרוק (T)

(1.2) בקר בשורש

(1.3)

(T)

((T) ימני-עץ-תת ) תחילי-בסדר-סרוק

(1) ? ריק-עץ (T) אם לא

((T) שמאלי-עץ-תת (1.1) ) תחילי-בסדר-סרוק

תחילי-בסדר-סרוק (T)

(1.1) בקר בשורש

(1.3)

(T)

((T) ימני-עץ-תת ) תחילי-בסדר-סרוק

(1) ? ריק-עץ (T) אם לא

((T) שמאלי-עץ-תת (1.2) ) תחילי-בסדר-סרוק

1

2

3

4

Shayke Bilu PhD SCE-Chapter-20-Binary Trees 61

סריקת עץ בינארי

C

H

F

A

D

G

B

E

A,B,D,E,G,C,F,H

Shayke Bilu PhD SCE-Chapter-20-Binary Trees 62

סריקת עץ בינארי

Shayke Bilu PhD

63

?שאלות

SCE-Chapter-20-Binary Trees

סריקת עץ בינארי

Shayke Bilu PhD SCE-Chapter-20-Binary Trees

64

אנחנו רואים שבעקבות ביצוע סריקה בסדר תחילי על העץ

.A,B,D,E,G,C,F,Hהתקבלה סדרת הערכים , הבינארי הבא

הערך הראשון שהתקבל בסדרת הערכים(A ) זהה לערך המאוחסן

. בשורש העץ הבינארי

תמיד זה כך בעת שעושים סריקה בסדר תחיליהאם?

הערך האחרון שהתקבל בסדרת הערכים(H ) מאוחסן באחד

. מהעלים בעץ הבינארי

תמיד זה כך בעת שעושים סריקה בסדר תחיליהאם?

סריקת עץ בינארי

Shayke Bilu PhD SCE-Chapter-20-Binary Trees

65

נתון העץ הבינארי הבא.

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

בסדר תוכי

בסדר סופי.

תנו דוגמא לעץ בינארי לא ריק שעבורו

הסריקות יתנו את אותה סדרת שלושת

ערכים.

אולם הפעם , ל"תנו דוגמא כנ

כל איברי העץ צריכים בהכרח

להיות שונים זה מזה.

Shayke Bilu PhD SCE-Chapter-20-Binary Trees

66

מציאת איבר מקסימלי בעץ בינארי:

דוגמא -רקורסיה ורשימות

20

34 4

56 14 11 5-

21- 0

1 2

21 20 58- 9

23 6

6- 12

Shayke Bilu PhD SCE-Chapter-20-Binary Trees

67

מציאת איבר מקסימלי בעץ בינארי:

typedef struct node

{

int content;

struct node *left;

struct node *right;

} Node;

דוגמא -רקורסיה ורשימות

Shayke Bilu PhD SCE-Chapter-20-Binary Trees

68

בינארי בעץ מקסימלי איבר מציאת:

הנחות:

.כלל בנים אין או בנים שני בדיוק יש בעץ צומת לכל1.

אחד צומת לפחות קיים ,כלומר) NULL אינו השורש2.

.(בעץ

דוגמא -רקורסיה ורשימות

Shayke Bilu PhD SCE-Chapter-20-Binary Trees

69

int findmax (Node *node)

{

int left, right, maxlr, max;

if (node->left==NULL)

return node->content;

left=findmax(node->left);

right=findmax(node->right);

maxlr= left >right ? left:right;

max= maxlr>node->content ? maxlr:node->content;

return max;

}

דוגמא -רקורסיה ורשימות

תרגילים

Shayke Bilu PhD SCE-Chapter-20-Binary Trees

70

כתבו אלגוריתם המקבל עץ בינארי המכיל מספרים ממשיים ,

.2ומקטין את ערכו של כל איבר בעץ פי

ומחזיר , שלמים' כתבו אלגוריתם המקבל עץ בינארי המכיל מס

.הצמתים שבהם מופיעים ערכים זוגיים' את מס

ומציג כפלט את כל הערכים , כתבו אלגוריתם המקבל עץ בינארי

.המופיעים בעלים

ומחזיר , כתבו אלגוריתם המקבל עץ בינארי

.את סכום ערכי הצמתים שיש להם שני בנים

Shayke Bilu PhD

71

?שאלות

SCE-Chapter-20-Binary Trees