35
trees שששש שששש שששששChapter 5.5– Trees (91 – 97) Chapter 13– Binary Search Trees (244 – 262) שששש ששששש שששששש ששLecture3 of Geiger & Itai’s slide brochure www.cs.technion.ac.il/~dang/courseDS Geiger & Itai, 2001

Trees עצים ועצי חיפוש Chapter 5.5– Trees (91 – 97) Chapter 13– Binary Search Trees (244 – 262) חומר קריאה לשיעור זה Lecture3 of Geiger & Itai’s

  • View
    224

  • Download
    6

Embed Size (px)

Citation preview

Page 1: Trees עצים ועצי חיפוש Chapter 5.5– Trees (91 – 97) Chapter 13– Binary Search Trees (244 – 262) חומר קריאה לשיעור זה Lecture3 of Geiger & Itai’s

trees

חיפוש ועצי עצים

Chapter 5.5– Trees (91 – 97)

Chapter 13– Binary Search Trees (244 – 262)

זה לשיעור קריאה חומר

Lecture3 of Geiger & Itai’s slide brochure

www.cs.technion.ac.il/~dang/courseDS

Geiger & Itai, 2001

Page 2: Trees עצים ועצי חיפוש Chapter 5.5– Trees (91 – 97) Chapter 13– Binary Search Trees (244 – 262) חומר קריאה לשיעור זה Lecture3 of Geiger & Itai’s

cs,Technion

2trees

עצים

דוגמאות

. אילן יוחסין1

. ביטויים אריתמטיים2

אברהם

יצחקישמאל

עשויעקב

יוסף

מנשהאפריים

בנים 12

ובת 11עוד בנים

20 10

/

8 6

-

+

*

5 3

+

(5+3((*)20/10( + )8-6))

Page 3: Trees עצים ועצי חיפוש Chapter 5.5– Trees (91 – 97) Chapter 13– Binary Search Trees (244 – 262) חומר קריאה לשיעור זה Lecture3 of Geiger & Itai’s

cs,Technion

3trees

עצים

. עץ מנצחים )גביע(3

צה"לחיל הים

חיל האווירחיל היבשה

שריוןתותחנים

...חי"ר

חטיבת צנחניםחטיבת הנח"ל

856גדוד ...

934גדוד 1 מחלקה 2 מחלקה

1 כיתה 2 כיתה

אלון אבוטבול

. מבנה היררכי4

הפועל חיפהמכבי חיפה

מכבי חיפה

מכבי חיפה מכבי ת"א

Page 4: Trees עצים ועצי חיפוש Chapter 5.5– Trees (91 – 97) Chapter 13– Binary Search Trees (244 – 262) חומר קריאה לשיעור זה Lecture3 of Geiger & Itai’s

cs,Technion

4trees

- מכוונים לא (Undirected Graphs)גרפים

וקבוצת V המורכב מקבוצת צמתים ( V,E)גרף לא-מכוון הוא זוג . קשת V היא קבוצה בת שני איברים מתוך Eקשת ב- . Eקשתות

(.{i,j} )במקום הסימון המדויק יותר (i,j)מסומנת ע"י

V = a,b,c,d,e

E = (a,b), (a,d), (a,d) ,(b,c),(b,e),(c,c),(d,c),(d,e),(e,c)

חוג עצמי

., n = 5 m = 9. בדוגמא: | m = |E וכן|n = |Vנסמן

. n2 קטן בכל גרף מ- mמספר הקשתות

a b

d e

c

Page 5: Trees עצים ועצי חיפוש Chapter 5.5– Trees (91 – 97) Chapter 13– Binary Search Trees (244 – 262) חומר קריאה לשיעור זה Lecture3 of Geiger & Itai’s

5trees

מכוונים (Directed Graphs)גרפים וקבוצת V המורכב מקבוצת צמתים ( V,E) הוא זוג גרף מכוון

E V X V.קשתות

V = a,b,c,d,e

E = (a,b),(a,d),(b,c),(b,e),(c,c),(d,c),(d,e),(e,a),(e,c)

., n = 5 m = 9. בדוגמא: | m = |E וכן|n = |Vנסמן

כך שלכל זוג (v1,v2,..,vk) הוא סדרת צמתים (V,E)בגרף )מכוון( )מכוון( מסלול )מכוון( מעגל. המסלול נקרא E היא קשת ב-(vi,vi+1)צמתים עוקבים בסדרה,

הוא גרף G של גרף מכוון גרף התשתית (.(a,d,e,a) )לדוגמא, v1=vkאם אך ללא כוון. G ואותם קשתות כמו ב- Gכמו ב- לא-מכוון עם אותם צמתים

לדוגמא, הגרף בשקף הקודם הוא גרף התשתית של הגרף הנתון בשקף זה.

a b

d e

c

Page 6: Trees עצים ועצי חיפוש Chapter 5.5– Trees (91 – 97) Chapter 13– Binary Search Trees (244 – 262) חומר קריאה לשיעור זה Lecture3 of Geiger & Itai’s

cs,Technion

6trees

מכוונים עצים

הגדרות

v של בן u אם קיימת קשת מצומת u לצומת v .

u של אב v אם v בן של u .

דוגמאות

f בן של b

bשל אבe

הוא גרף מכוון ללא מעגלים )בגרף התשתית שלו( ואשר לו מקור עץ מכוון.שורשאחד בלבד הנקרא

b c

a

h i

d f

j k

ge

הוא צומת שאף קשת אינה מצביעה אליו.מקור

Page 7: Trees עצים ועצי חיפוש Chapter 5.5– Trees (91 – 97) Chapter 13– Binary Search Trees (244 – 262) חומר קריאה לשיעור זה Lecture3 of Geiger & Itai’s

cs,Technion

7trees

מכוונים עציםהגדרות

v של צאצא u אם קיים מסלול מכוון מצומת uל - v .

u של אב-קדמון v אם v צאצא של u.

v הוא עץ מכוון שצמתיו הם v ששורשו Gתת-עץ של , והקשתות שלו הן הקשתות vעצמו וכל הצאצאים של

.Gהמחברות צמתים אלו ב-

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

הוא צמת ללא בנים.עלה

דוגמאות

g צאצא של a

b אב-קדמון של h

gתת העץ ששורשו צמתים ושתי 3מכיל

קשתות.

.2 היא aדרגת

h .הוא עלה

הוא צומת צומת פנימישאינו עלה.

b c

a

h i

d f

j k

ge

Page 8: Trees עצים ועצי חיפוש Chapter 5.5– Trees (91 – 97) Chapter 13– Binary Search Trees (244 – 262) חומר קריאה לשיעור זה Lecture3 of Geiger & Itai’s

cs,Technion

8trees

מכוונים עצים

הוא מספר vעומק של צומת vהקשתות משורש העץ אל

)המרחק מהשורש(.

הוא מספר vגובה של צומת לצאצא הרחוק ביותר vהקשתות מ-

)עלה(. vשל

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

2עומק

2גובה

b c

a

h i

d f

j k

ge

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

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

מכוון.

b c

a

h i

d f

j k

ge

Page 9: Trees עצים ועצי חיפוש Chapter 5.5– Trees (91 – 97) Chapter 13– Binary Search Trees (244 – 262) חומר קריאה לשיעור זה Lecture3 of Geiger & Itai’s

cs,Technion

9trees

מסודריםעצים

הוא עץ מכוון עץ מסודר

שבו הבנים של כל צומת bמסודרים )משמאל לימין(. c

a

h i

d f

j k

ge

b

b c

a

h i

e f

j k

gd

b

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

השתנה.

Page 10: Trees עצים ועצי חיפוש Chapter 5.5– Trees (91 – 97) Chapter 13– Binary Search Trees (244 – 262) חומר קריאה לשיעור זה Lecture3 of Geiger & Itai’s

cs,Technion

10trees

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

בן שמאלי ו/או בן ימני.

הוא מבנהעץ בינרי הגדרה רקורסיבית:

. ריק )ללא צמתים(, או 1

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

בינרי הנקרא תת-עץ ימני.

Page 11: Trees עצים ועצי חיפוש Chapter 5.5– Trees (91 – 97) Chapter 13– Binary Search Trees (244 – 262) חומר קריאה לשיעור זה Lecture3 of Geiger & Itai’s

cs,Technion

11trees בינריים מלאים ושלמיםעצים

: עץ שבו לכל צומת (full)עץ בינרי מלא בנים.2פנימי

: עץ בינרי מלא שבו (complete)עץ בינרי שלםכל העלים באותו עומק.

: עץ בינרי שלם עץ בינרי כמעט שלםשהוצאו ממנו עלים )"מצד ימין"(.

Page 12: Trees עצים ועצי חיפוש Chapter 5.5– Trees (91 – 97) Chapter 13– Binary Search Trees (244 – 262) חומר קריאה לשיעור זה Lecture3 of Geiger & Itai’s

cs,Technion

12trees

שלמים בינריים עצים תכונות

:h עלים, וגובה L צמתים, nבעץ בינרי שלם בעל

i:ni = 2iמספר הצמתים בעומק 1.

L= nh= 2h מספר העלים:2.

122 :מספר הצמתים3. 1

00

hh

i

ih

i inn

:h = log2)n+1( - 1. הגובה4

:n - L = 2h - 1 = L - 1. מספר הצמתים הפנימיים5

0

1

2

3

Page 13: Trees עצים ועצי חיפוש Chapter 5.5– Trees (91 – 97) Chapter 13– Binary Search Trees (244 – 262) חומר קריאה לשיעור זה Lecture3 of Geiger & Itai’s

cs,Technion

13trees לעצים מימוש "מערכי"בינריים

iבן שמאלי של צומת 2iנמצא ב-

iבן ימני של צומת 2i+1נמצא ב-

iאבא של של צומת i/2 נמצא ב-

a

1

b

2

c

3

d

4

e

5

f

6

g

7

h

8

i

9

j

10

k

11

l

12

m n o

0 1413 15

158 109 11 12 13 14

b c

a

h i j k

d e

l m n o

f g4 5 6 7

3

1

2

יעיל רק עבור עצים שלמים !

Page 14: Trees עצים ועצי חיפוש Chapter 5.5– Trees (91 – 97) Chapter 13– Binary Search Trees (244 – 262) חומר קריאה לשיעור זה Lecture3 of Geiger & Itai’s

cs,Technion

14trees

באמצעות מצביעיםמימוש

typedef struct node{ DATA_Type value ;

struct node *left, *right; } NODE;

valueleft right

מבנה צומת:

b

h i k

d e

b

e

k

d

ih

b

1

d

2

e

3

h

4

i

5

f

6

k

70

Page 15: Trees עצים ועצי חיפוש Chapter 5.5– Trees (91 – 97) Chapter 13– Binary Search Trees (244 – 262) חומר קריאה לשיעור זה Lecture3 of Geiger & Itai’s

cs,Technion

15trees

בינרייםבעצים יםסיורpreorder

בקר בשורש

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

סייר בתת העץ הימני

a b d e c f h g i

postorder

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

סייר בתת העץ הימני

)חשוב ביטויים בקר בשורשאריתמטיים(

d e b h f i g c a

inorder

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

בקר בשורש

סייר בתת העץ הימני

d b e a f h c i g

b c

a

d e

h i

f g

b c

a

d e

h i

f g

b c

a

d e

h i

f g

b c

a

d e

h i

f g

b c

a

d e

h i

f g

b c

a

d e

h i

f g

Page 16: Trees עצים ועצי חיפוש Chapter 5.5– Trees (91 – 97) Chapter 13– Binary Search Trees (244 – 262) חומר קריאה לשיעור זה Lecture3 of Geiger & Itai’s

cs,Technion

16trees

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

postorder

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

סייר בתת העץ הימני

)חשב את ערך הביטוי או הדפס(. בקר בשורש

5 3 + 20 10 / 8 6* + - postfix

inorder

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

בקר בשורש )הדפס(

סייר בתת העץ הימני

(5+3((*)20/10(+)8-6))

+ +

*

5 3

10 8

/ -

620

infixכתיב פולנינקראים postfixביטויי

Łukasievicz ע"ש שם הלוגיקאי הפולני

אין צורך בסוגריים: לכל ביטויpostfixבביטוי

postfix!יש לכל היותר פרוק יחיד

Page 17: Trees עצים ועצי חיפוש Chapter 5.5– Trees (91 – 97) Chapter 13– Binary Search Trees (244 – 262) חומר קריאה לשיעור זה Lecture3 of Geiger & Itai’s

cs,Technion

17trees

ביטוי ח באמצעות מחסניתpostfixישוב

5 5

3

8 8

2

8

20

postfixאלגוריתם לחישוב ביטוי

התחל עם מחסנית ריקה.1.

עבור על כל ביטוי משמאל לימין:2.

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

אם הוא פעולה – הפעל את הפעולה על שני האיברים4.

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

5 3 + 20 10 / 8 6 * + - :postfix8

2

8

6

8

2

2

8

4

328

20

10

8

2

8

Page 18: Trees עצים ועצי חיפוש Chapter 5.5– Trees (91 – 97) Chapter 13– Binary Search Trees (244 – 262) חומר קריאה לשיעור זה Lecture3 of Geiger & Itai’s

cs,Technion

18trees

פרוצדורת postorderמימוש

void postorder (NODE *T)

{

if (T = = NULL) return;

else{

postorder( T left); /* 1/*

postorder( T right); /* 2/*

“ visit”; /* 3/*

return};

}: יש לשנות תוכנית זו כך שתחשב ערך של ביטוי אריתמטי.Iתרגיל

: יש לכתוב תוכנית זו ללא רקורסיה )תוך שימוש במחסנית(. IIתרגיל

#2 ע"י החלפת שורה :הערה נקבל מימוש של #3עם שורה

.inorderסיור

valueleft right

מבנה צומת:

נשתמש במימוש "מצביעי"

Page 19: Trees עצים ועצי חיפוש Chapter 5.5– Trees (91 – 97) Chapter 13– Binary Search Trees (244 – 262) חומר קריאה לשיעור זה Lecture3 of Geiger & Itai’s

19trees

דוגמא לשימוש חביב

int height (NODE *T) {int L,R;

if (T = = NULL) return –1 else{

L = height(T left); R = height(T right); return 1 + max(L,R) ;

} }

פונקציה רקורסיבית לחישוב גובה העץ )דוגמא לסיור

postorder:)

Page 20: Trees עצים ועצי חיפוש Chapter 5.5– Trees (91 – 97) Chapter 13– Binary Search Trees (244 – 262) חומר קריאה לשיעור זה Lecture3 of Geiger & Itai’s

cs,Technion

20trees עצים מימושים של מסודרים

:d אם לכל צמת דרגה

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

child[0] child[d-1]…child[1]

value)s(

first-child next-brother

value(s)

b

e f

a

d

g

ki

c

h j

a

b c d

e f

h i j k

g

Page 21: Trees עצים ועצי חיפוש Chapter 5.5– Trees (91 – 97) Chapter 13– Binary Search Trees (244 – 262) חומר קריאה לשיעור זה Lecture3 of Geiger & Itai’s

cs,Technion

21trees

מסודריםעצים מה הקשר בין גובה העץ המקורי וגובה העץ הבינרי ?

a

b c d

e f

h i j k

g

hnew d horiginal כאשר ,d.הוא מספר הבנים המקסימלי בעץ המקורי

Page 22: Trees עצים ועצי חיפוש Chapter 5.5– Trees (91 – 97) Chapter 13– Binary Search Trees (244 – 262) חומר קריאה לשיעור זה Lecture3 of Geiger & Itai’s

cs,Technion

22trees

(Dictionary)מילון

פעולות:

)create)D יצירת מילון ריק. אתחול:•

)NULL. find)D,x או x שמפתחהD ב- החזר מצביע לרשומהחיפוש:•

)x.insert)D,x,info רשומה שמפתחה D הוסף ל- הוספה:•

)x.delete)D,x רשומה שמפתחה D סלק מ- הוצאה:•

מילון מאחסן אוסף של רשומות מהטיפוס )מפתח, אינפורמציה(. המפתח

.Uשונה )בד"כ( מרשומה לרשומה. אוסף המפתחות האפשריים מסומן ב-

מפתחות אפשריים לדוגמא: מספרים שלמים.

כללים:

• x שייך לקבוצת המפתחות U.

מופיע לכל היותר פעם אחת במילון )בדר"כ(.x כל •

Page 23: Trees עצים ועצי חיפוש Chapter 5.5– Trees (91 – 97) Chapter 13– Binary Search Trees (244 – 262) חומר קריאה לשיעור זה Lecture3 of Geiger & Itai’s

cs,Technion

23trees מילון, מבנה חיפוש ועצי חיפוש

)למשל כאשר מפתח הוא Uפעולות נוספות כאשר מוגדר סדר על מספר(:

. D החזר את המפתח המינימלי ב-מינימום:

בעל המפתח הקטןDהחזר מצביע לאיבר במילון עוקב:

. x ביותר שגדול מ-

)במקרה הגרוע ביותר( )O)log n: לבצע את כל הפעולות בזמן מטרה.בזמן ביצוע הפעולה הוא מספר המפתחות הנמצאים במילון nכאשר

. היא משפחה של מימושים למבנה חיפושעצי חיפוש:

next)D,x(

min)D(

מילון + מינימום + עוקב נקרא מבנה חיפוש

Page 24: Trees עצים ועצי חיפוש Chapter 5.5– Trees (91 – 97) Chapter 13– Binary Search Trees (244 – 262) חומר קריאה לשיעור זה Lecture3 of Geiger & Itai’s

cs,Technion

24trees

חיפוש כעץ בינרי עץ

x

zy

zxy

נשתמש בעץ בינרי מכוון.

בכל צומת נאחסן רשומה אחת מתוך המילון )או מפתח לאינפורמציה של הרשומה(.מצביעו

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

. xהעץ הימני גדולים מ-

Page 25: Trees עצים ועצי חיפוש Chapter 5.5– Trees (91 – 97) Chapter 13– Binary Search Trees (244 – 262) חומר קריאה לשיעור זה Lecture3 of Geiger & Itai’s

cs,Technion

25trees

חיפוש כעץ בינרי עץ

לא בעץ.x ריק, דווח ש-Tאם 1.

הערך שבשורש.yיהי 2.

.x, החזר מצביע לצומת המחזיק את y=x אם 3.

.T, המשך את החיפוש בתת העץ השמאלי של y > xאם 4.

.T (, המשך את החיפוש בתת העץ הימני של y < x אחרת )כאשר 5.

3 20

8

1 7 11

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

:)find)T,xאלגוריתם החיפוש

Page 26: Trees עצים ועצי חיפוש Chapter 5.5– Trees (91 – 97) Chapter 13– Binary Search Trees (244 – 262) חומר קריאה לשיעור זה Lecture3 of Geiger & Itai’s

cs,Technion

26trees

חיפוש בעץ הכנסה

insert(T,4)

3 20

8

1 7 11

4

:)insert)T,xאלגוריתם הכנסה

.T בעץ החיפוש x חפש את1.

, עצור ודווח.T נמצא ב-xאם 2.

.v המפתח שנמצא ב-y ויהי x הצומת האחרון במסלול החיפוש של vיהי 3.

v

w

.v כבן שמאלי של x עם מפתח w הוסף צומת y>,x. אם 4

.v כבן ימני שלx עם מפתח w הוסף צומת , ( y < xכאשר . אחרת )5

Page 27: Trees עצים ועצי חיפוש Chapter 5.5– Trees (91 – 97) Chapter 13– Binary Search Trees (244 – 262) חומר קריאה לשיעור זה Lecture3 of Geiger & Itai’s

27trees חיפוש מעץ – המקרים הוצאההקלים צומת בעץ המיועד להוצאה.v יהי :אלגוריתם הוצאה

עלה, סלק אותו.vאם 1.

להצביע על הבן.v בן יחיד, תן לאבא של vאם ל-2.

2

1 4

5

8

7 9

63

2

4

5

8

7 9

63

delete 1

2

4

5

8

7 9

63

2

3

5

8

7 9

6

delete 4

Page 28: Trees עצים ועצי חיפוש Chapter 5.5– Trees (91 – 97) Chapter 13– Binary Search Trees (244 – 262) חומר קריאה לשיעור זה Lecture3 of Geiger & Itai’s

cs,Technion

28trees

חיפוש מעץ הוצאה צומת בעץ המיועד להוצאה.v. יהי אלגוריתם הוצאה

עלה, סלק אותו.vאם 1.

להצביע על הבן.v בן יחיד, תן לאבא של vאם ל-2.

)זהו הצומת המכיל את הערך הבא . inorder בסדר v הצומת העוקב ל-wאחרת: יהי 3. כלומר הצומת המתקבל ע"י פניה אחת ימינה ואח"כ כל הדרך שמאלה. vאחרי הערך שב-

בן אחד לכל היותר(.wשימו לב שלצומת

.w וצומת v. החלף בין צומת 4

כנדרש. 2 או 1 לכל היותר בן אחד. המשך בצעד v. כעת יש ל-5

2

3

5

8

7 9

6

2

3

6

8

7 9

delete 5v

w

w

v(.5 )צעד vנותר להוציא את

Page 29: Trees עצים ועצי חיפוש Chapter 5.5– Trees (91 – 97) Chapter 13– Binary Search Trees (244 – 262) חומר קריאה לשיעור זה Lecture3 of Geiger & Itai’s

cs,Technion

29trees

נוספתדוגמא

2

3

5

8

7 9

7.5

2

3

7

8

9

delete 5v

w

w

7.5

v

2

3

7

8

9

w

7.5

vdelete “v”

Page 30: Trees עצים ועצי חיפוש Chapter 5.5– Trees (91 – 97) Chapter 13– Binary Search Trees (244 – 262) חומר קריאה לשיעור זה Lecture3 of Geiger & Itai’s

cs,Technion

30trees

זמנים נתוח

זמן חיפוש/הכנסה/הוצאה הוא לינארי בגובה העץ.

מהו גובה העץ?

h= log n עץ שלם. מקרה טוב.

- h = n עץ הנראה כרשימה ליניארית. מקרה גרוע.1

ומהו הגובה הממוצע ?

Page 31: Trees עצים ועצי חיפוש Chapter 5.5– Trees (91 – 97) Chapter 13– Binary Search Trees (244 – 262) חומר קריאה לשיעור זה Lecture3 of Geiger & Itai’s

cs,Technion

31trees

גובה ממוצע

יוצר 1,2,3 ברור שצורת העץ נקבעת על פי סדר ההכנסה )למשל הסדרשיוצר עץ מאוזן(.2,1,3 לעומת שרשרת

.!n צמתים לעץ הוא nמספר אפשרויות )הסדרים( להכניס

.i את גובה העץ הנוצר בסדר ה-)h)iנסמן ב-

הגובה הממוצע מוגדר כדלקמן:

!

1

)(!

1 n

i

ihn

h

)O)log nניתן להראות שהגובה הממוצע שייך לקבוצה- .)O)log nכלומר בממוצע כל הפעולות מתבצעות בזמן

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

.)O)n log nחיפוש בינרי הוא

Page 32: Trees עצים ועצי חיפוש Chapter 5.5– Trees (91 – 97) Chapter 13– Binary Search Trees (244 – 262) חומר קריאה לשיעור זה Lecture3 of Geiger & Itai’s

32trees

בינרי חיפוש עץ של צפוי בניה זמןאקראית פרמוטציה מהכנסת המתקבל אקראי עץ בנית זמן את an …a1נחשב

. ריק לעץ

הוא האיברים שסדר bn …b1נניח

צמתים. n את מספר ההשוואות הממוצע הדרוש לבניית עץ בן )T)nנסמן ב-

צמתיםj-1 הוא מספר ההשוואות הממוצע הדרוש לבניית עץ בן )T)j-1לפיכך

צמתים.n-j הוא מספר ההשוואות הממוצע הדרוש לבניית עץ בן )T)n-jו-

משוואת ההפרשים המתאימה: )0)0(()()1()1(

1)(

1

TjnTjTnn

nTn

j

bj-1 …b1 bn …bj+1

bja1

Page 33: Trees עצים ועצי חיפוש Chapter 5.5– Trees (91 – 97) Chapter 13– Binary Search Trees (244 – 262) חומר קריאה לשיעור זה Lecture3 of Geiger & Itai’s

cs,Technion

33trees

ההפרשים משואת פתרון

1

11

)(2

)1()()1()1(1

)(n

j

n

j

jTn

njnTjTnn

nT

1

1

)(2)1()(n

j

jTnnnnT

)1(2)1(2)1()1()( nTnnTnnnT

2

1

)(2)2)(1())1()1(n

j

jTnnnTn

)1()1(22)( nTnnnnT

Page 34: Trees עצים ועצי חיפוש Chapter 5.5– Trees (91 – 97) Chapter 13– Binary Search Trees (244 – 262) חומר קריאה לשיעור זה Lecture3 of Geiger & Itai’s

cs,Technion

34trees

ההפרשים משואת פתרון)1()1(22)( nTnnnnT

n

nT

nnnn

nT )1(

)1(

2

1

2

1

)(

n

nT

n

)1(

1

2

)log()()(log1

)(nnOnTnO

n

nT

נגדיר1

)()(

n

nTng

)1(1

2)(

ngn

ng

)(log2)2(2

1

2)1(

1

2)( 1 nOHng

nnng

nng n

לכן

Page 35: Trees עצים ועצי חיפוש Chapter 5.5– Trees (91 – 97) Chapter 13– Binary Search Trees (244 – 262) חומר קריאה לשיעור זה Lecture3 of Geiger & Itai’s

cs,Technion

35trees

עוד על המספר ההרמוני

nH nn

lnlim

)(ln)1

(...57721.0ln1

1nO

non

iH

n

in

אוילר קבוע

על קבוע אוילר:

...402431042651209008201532860605772156649.0

ספרות במכנה(10242,080 לא ידוע אם הוא רציונלי )אם כן, יש לו יותר מ-

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