29
2-3 trees ייי3-2 יייי יייייChapter 19: B trees (381 – 397) Chapter 15: Augmenting data structures (281 – 290) יייי ייייי יייייי ייLecture5 of Geiger & Itai’s slide brochure www.cs.technion.ac.il/~dang/courseDS Geiger & Itai, 2001

2-3 trees עצי 3-2 ועצי דרגות Chapter 19: B trees (381 – 397) Chapter 15: Augmenting data structures (281 – 290) חומר קריאה לשיעור זה Lecture5 of Geiger

  • View
    224

  • Download
    5

Embed Size (px)

Citation preview

Page 1: 2-3 trees עצי 3-2 ועצי דרגות Chapter 19: B trees (381 – 397) Chapter 15: Augmenting data structures (281 – 290) חומר קריאה לשיעור זה Lecture5 of Geiger

2-3 trees

דרגות 3-2עצי ועצי

Chapter 19: B trees (381 – 397)

Chapter 15: Augmenting data structures (281 – 290)

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

Lecture5 of Geiger & Itai’s slide brochure

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

Geiger & Itai, 2001

Page 2: 2-3 trees עצי 3-2 ועצי דרגות Chapter 19: B trees (381 – 397) Chapter 15: Augmenting data structures (281 – 290) חומר קריאה לשיעור זה Lecture5 of Geiger

cs,Technion

22-3 trees

Page 3: 2-3 trees עצי 3-2 ועצי דרגות Chapter 19: B trees (381 – 397) Chapter 15: Augmenting data structures (281 – 290) חומר קריאה לשיעור זה Lecture5 of Geiger

32-3 trees

עצים מאוזנים

מהווים דוגמא נוספת לעצים מאוזנים. 3-2 הם עצים מאוזנים. עצי AVLעצי

h(T) = O(log n) .אםמאוזנת : משפחת עצים נקראת תזכורת

הוא עץ בו כל העלים נמצאים באותה רמה ולכל 3-2: עץ הגדרה בנים.3 או 2צומת פנימי

דוגמאות:

Page 4: 2-3 trees עצי 3-2 ועצי דרגות Chapter 19: B trees (381 – 397) Chapter 15: Augmenting data structures (281 – 290) חומר קריאה לשיעור זה Lecture5 of Geiger

cs,Technion

42-3 trees

3-2גובה עצי

מקיים הגובה log3L h log2Lלפיכך

h = (log L)כלומר:

: עבור חסם תחתון נבחן את העץ הבינרי השלם הנוצר ע"י סילוק כל נימוק. 3-2ילד שלישי מעץ

עבור חסם עליון נבחן את העץ הטרינרי השלם הנוצר ע"י הוספת ילד שלישי בכל מקום בו חסר ילד. 3-2לעץ

סולק נתון 3-2עץ שלישי ילד כל בו עץ הוסף חסר ילד כל בו עץ

הוא גובה העץ.h כאשר 2h L 3h מקיים3-2 בעץ Lמספר העלים

Page 5: 2-3 trees עצי 3-2 ועצי דרגות Chapter 19: B trees (381 – 397) Chapter 15: Augmenting data structures (281 – 290) חומר קריאה לשיעור זה Lecture5 of Geiger

52-3 trees

כמבני נתונים3-2עצי

מהמפתח הגדול ממש רשום אינדקס בודד בצומת פנימי בעל שני בנים• למפתח המינימלי קטן או שווההמקסימלי בתת העץ ששורשו הוא הבן הראשון וכן

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

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

גדול ממש מהמפתחות בעץ השני וקטן שווה מהמפתחות בעץ השלישי.

כל עלה מכיל מפתח ורשומה (רק המפתחות נראים בציור).

אינדקסים המשמשים לחיפוש d-1 בנים ויש בו d 3 2לכל צמת פנימי הרשומה הנחוצה.

7 16

5… 8 11 17…

2 5 7 8 12 16 19

Page 6: 2-3 trees עצי 3-2 ועצי דרגות Chapter 19: B trees (381 – 397) Chapter 15: Augmenting data structures (281 – 290) חומר קריאה לשיעור זה Lecture5 of Geiger

cs,Technion

62-3 trees

3-2 בעץ kחיפוש מפתח

:v קטן מהמפתח השני של kאו ש- רק שני בניםvאם ל-אחרת, •

.vהמשך את החיפוש בבן השני של •

.vאחרת, המשך את החיפוש בבן השלישי של •

השורש של העץvיהי •

.v נמצא בצומת k, בדוק אם עלהvאם •

.v האינדקס המינימלי בצומת k1יהי •

:k < k1אם •

.vהמשך את החיפוש בבן הראשון של •

1 2 3 10 14 22 25 27

2 ,3 14 25 ,27

10 ,20:14חפש

Page 7: 2-3 trees עצי 3-2 ועצי דרגות Chapter 19: B trees (381 – 397) Chapter 15: Augmenting data structures (281 – 290) חומר קריאה לשיעור זה Lecture5 of Geiger

cs,Technion

72-3 trees

3-2 לעץ kהכנסת מפתח

לעץ איבר :3-2בהכנסת הבאות הפעולות מבוצעות

החדש 1. המפתח של מקומו .kחיפוש

ערכו 2. וקביעת החדש למקום עלה .kהכנסת

יהיו 3. צומת שלכל כך העץ . 3או 2תיקון החיפוש במסלול נעשה התיקון בנים. kשל נבצע רמה בכל השורש ועד שנוסף . O(1)מהעלה פעולות

" דוגמאות י ע תחילה זאת .נמחיש

Page 8: 2-3 trees עצי 3-2 ועצי דרגות Chapter 19: B trees (381 – 397) Chapter 15: Augmenting data structures (281 – 290) חומר קריאה לשיעור זה Lecture5 of Geiger

82-3 trees

3-2דוגמא להכנסה לעץ

1 2 3 10 14 22 25 27

2 ,3 14 25 ,27

10 ,227הכנס

1 2 3 10 14 22 25 27

2 ,3 ,7 14 25 ,27

10 ,22

7

: ראשון צעד

1 2 3 10 14 22 25 27

2 14 25 ,27

3 ,10 ,22

7

7

: שני צעד

1 2 3 10 14 22 25 27

2 14 25 ,27

7

7

3 22

10: שלישי צעד

Page 9: 2-3 trees עצי 3-2 ועצי דרגות Chapter 19: B trees (381 – 397) Chapter 15: Augmenting data structures (281 – 290) חומר קריאה לשיעור זה Lecture5 of Geiger

92-3 trees

)חלק א( kאלגוריתם להכנסת מפתח

נמצא, סיימו.k. אם T בעץ kחפשו את 1.

k הצומת האחרון, שאינו עלה, במסלול החיפוש. (לו f, יהי T אינו ב-kאם 2. נמצא).k היה אבי העלה שבו f אזי T היה ב-

תוך שמירת הסדר בין f, והוסיפו אותו כבן ל-kצרו עלה חדש בעל מפתח 3. ארבעה בנים). f. (יתכן וכעת יש ל-fהבנים של

. (יתכן וכעת יש שלושה 2-3 אינדקס נוסף בהתאם לכללי עץ fהוסיפו ל-4.אינדקסים).

1 2 3 10 14 22 25 27

2 ,3 14 25 ,27

10 ,227הכנס

1 2 3 10 14 22 25 27

2 ,3 ,7 14 25 ,27

10 ,22

7

Page 10: 2-3 trees עצי 3-2 ועצי דרגות Chapter 19: B trees (381 – 397) Chapter 15: Augmenting data structures (281 – 290) חומר קריאה לשיעור זה Lecture5 of Geiger

102-3 trees

v f .5

, וחבר אותם כבנים v1,v2 לשני צמתים v ארבעה בנים, פצל את v. אם ל-6

. 5 תוך שמירה על סדר האינדקסים הנכון. חזרו לצעד v של צומת fלאב וסיימו. אם v1,v2 אשר בניו הם הצמתים f הוא שורש צרו צומת vאם

שלושה בנים סיימו.vל-

1 2 3 10 14 22 25 27

2 14 25 ,27

3 ,10 ,22

7

7

1 2 3 10 14 22 25 27

2 14 25 ,27

7

7

3 22

10

)חלק ב( kאלגוריתם להכנסת מפתח

Page 11: 2-3 trees עצי 3-2 ועצי דרגות Chapter 19: B trees (381 – 397) Chapter 15: Augmenting data structures (281 – 290) חומר קריאה לשיעור זה Lecture5 of Geiger

112-3 trees

)במלואו(kאלגוריתם להכנסת מפתח

נמצא, סיימו.k. אם T בעץ kחפשו את 1.

k הצומת האחרון, שאינו עלה, במסלול החיפוש. (לו f, יהי T אינו ב-kאם 2. נמצא).k היה אבי העלה שבו f אזי Tהיה ב-

תוך שמירת הסדר בין f, והוסיפו אותו כבן ל-kצרו עלה חדש בעל מפתח 3. ארבעה בנים). f. (יתכן וכעת יש ל-fהבנים של

. (יתכן וכעת יש שלושה 2-3 אינדקס נוסף בהתאם לכללי עץ fהוסיפו ל-4.אינדקסים).

v f .5

, וחבר אותם כבנים v1,v2 לשני צמתים v ארבעה בנים, פצל את v. אם ל-6

. 5 תוך שמירה על סדר האינדקסים הנכון. חזרו לצעד v של צומת fלאב v וסיימו. אם ל-v1,v2 אשר בניו הם הצמתים f הוא שורש צרו צומת vאם

שלושה בנים סיימו.

Page 12: 2-3 trees עצי 3-2 ועצי דרגות Chapter 19: B trees (381 – 397) Chapter 15: Augmenting data structures (281 – 290) חומר קריאה לשיעור זה Lecture5 of Geiger

122-3 trees

פרוט לפיצול צומת

root

T1

k1 k2 k3v

T2

T3

T4

k1 k3

k2

T1T2

T3T4

k2

k1 k2 k3

v2 v3v4

v1 v2

v3 v4v1

k1 k3

v v1 v2

Page 13: 2-3 trees עצי 3-2 ועצי דרגות Chapter 19: B trees (381 – 397) Chapter 15: Augmenting data structures (281 – 290) חומר קריאה לשיעור זה Lecture5 of Geiger

cs,Technion

132-3 trees

תכונות תהליך ההוספה

שינויים מתבצעים רק על המסלול מהשורש לעלה שהוסף.•

בזמן פיצול של צומת, הצמתים החדשים הם בעומק שווה לצומת שפוצל.•

.כל הצמתים את העומק של 1בפיצול השורש נוצר צומת חדש שמגדיל ב-•

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

Page 14: 2-3 trees עצי 3-2 ועצי דרגות Chapter 19: B trees (381 – 397) Chapter 15: Augmenting data structures (281 – 290) חומר קריאה לשיעור זה Lecture5 of Geiger

cs,Technion

142-3 trees

3-2 מעץ kהוצאת מפתח

מבוצעות הפעולות הבאות:3-2בהוצאת איבר לעץ

.kחיפוש מקומו של המפתח 1.

.kהוצאת העלה שערכו 2.

בנים. התיקון נעשה במסלול 3 או 2תיקון העץ כך שלכל צומת יהיו 3. O(1) מהעלה שהוצא ועד השורש. בכל רמה נבצע kהחיפוש של

פעולות.

.נמחיש זאת תחילה ע"י דוגמאות

Page 15: 2-3 trees עצי 3-2 ועצי דרגות Chapter 19: B trees (381 – 397) Chapter 15: Augmenting data structures (281 – 290) חומר קריאה לשיעור זה Lecture5 of Geiger

152-3 trees

)השאלה בלבד(3-2דוגמא להוצאה מעץ

1 2 3 10 14 15 16 19

2 14 16 ,19

7

7

3 15

10:14הוצא

1 2 3 10 15 16 19

2 14 16 ,19

7

7

3 15

10: צומת סלק

1 2 3 10 15 16 19

2 14 16 ,19

7

7

3 15

10: מהאח השאל

1 2 3 10 15 16 19

2 14 19

7

7

3 16

10: ההורים ערכי תקן

Page 16: 2-3 trees עצי 3-2 ועצי דרגות Chapter 19: B trees (381 – 397) Chapter 15: Augmenting data structures (281 – 290) חומר קריאה לשיעור זה Lecture5 of Geiger

162-3 trees

)שני איחודים(3-2דוגמא להוצאה מעץ

1 2 3 10 14 15 16 19

2 14 16 ,19

7

7

3 15

10:3הוצא

1 2 10 14 16 19

14 16 ,19

7

2 ,7

3 15

10אחד הורים:

15

1 2 10 14

14

7

2 ,7

10אחד הורים:

10 ,15

16 19

16 ,19

15 1 2 10 14

14

7

2 ,7

10 ,15

16 19

16 ,19

15

סלק שורש מיותר:

Page 17: 2-3 trees עצי 3-2 ועצי דרגות Chapter 19: B trees (381 – 397) Chapter 15: Augmenting data structures (281 – 290) חומר קריאה לשיעור זה Lecture5 of Geiger

172-3 trees

3-2 מעץ kאלגוריתם להוצאת מפתח לא נמצא בעץ, סיים.k בעץ. אם kחפש את 1.

אביו. f ויהי k העלה שערכו lיהי 2.

מהעץ. lסלק את 3.

.4v f

וסיים. v הוא שורש ולו בן בודד, סלק את v אם 5.

נותר רק בן בודד). v בנים, סיים. (המשך אם ל-2 נותרו vאם ל-6.

יש אח ולו שלושה בנים, שאל בן מהאח וסיים. v אם ל-מקרה א:7.

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

.4. חזור לצעד 8

Page 18: 2-3 trees עצי 3-2 ועצי דרגות Chapter 19: B trees (381 – 397) Chapter 15: Augmenting data structures (281 – 290) חומר קריאה לשיעור זה Lecture5 of Geiger

182-3 trees

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

מקרה א:

v v1 v2 v3 v4

k1 k3, k4

k2

v1 v2 v3 v4

k2 k4

k3

ff f1f1

מקרה ב:

v1 v2 v3

k2, k3

k4

v1

k1

k2, k4

v2 v3

k3

v4vv4

ff f1

Page 19: 2-3 trees עצי 3-2 ועצי דרגות Chapter 19: B trees (381 – 397) Chapter 15: Augmenting data structures (281 – 290) חומר קריאה לשיעור זה Lecture5 of Geiger

cs,Technion

192-3 trees

ניתוח פעולת ההוצאה

צעדי O(h) דורשת 3-2כל פעולת חיפוש, הכנסה, והוצאה מעץ הוא גובה העץ.hחישוב כאשר

פעולות.O(1) בכל רמה מבוצעות :נימוק

הוא מספר המפתחות.L כאשר O(log L)נזכור שגובה העץ הוא

צעדי חישוב. O(log L)כלומר כל פעולה לוקחת

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

בנים ונשמר 3-2העלים נותרים בעומק שווה. כמו כן לכל צומת פנימי נותרים יחס הסדר בין האינדקסים כנדרש.

Page 20: 2-3 trees עצי 3-2 ועצי דרגות Chapter 19: B trees (381 – 397) Chapter 15: Augmenting data structures (281 – 290) חומר קריאה לשיעור זה Lecture5 of Geiger

202-3 trees

AVL ועצי 3-2השוואה בין עצי

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

.רק בעלים רשומות נשמרות 3-2בעץ

.גם בצמתים פנימיים וגם בעלים רשומות נשמרות AVLבעץ

ולהפך. הבחירה AVL ישנה כנראה אנלוגיה גם בעץ 3-2לכל שימוש בעץ בין השניים אינה עקרונית.

Page 21: 2-3 trees עצי 3-2 ועצי דרגות Chapter 19: B trees (381 – 397) Chapter 15: Augmenting data structures (281 – 290) חומר קריאה לשיעור זה Lecture5 of Geiger

cs,Technion

212-3 trees

(mמדרגה ) +Bעצי הוא עץ המקיים את התכונות הבאות:m מדרגה +B: עץ הגדרה

כל הערכים נמצאים בעלים, כל העלים באותה רמה.1.

. m/2 c m בנים כאשר cלכל צומת פנימי, פרט אולי לשורש, יש 2.

. c m 2לשורש מספר הבנים הוא

אינדקסים ממוינים לפי גודלם. c-1 בנים יש cלצומת פנימי בעל .3

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

. 3-2חיפוש/הכנסה/הוצאה כמו בעץ

, הכנסה או הוצאה של העלה המבוקש, ותיקון העץ m בדרגה +Bכלומר, חיפוש לפי הגדרת עץ +Bמהעלה ועד השורש במסלול החיפוש כך שמספר הבנים בכל רמה יעמוד בדרישות עץ

. mבדרגה

.3-2דוגמא: עץ

1 2 3 10 14 22 25 27

2 ,3 14 25 ,27

10 ,22

2 ,3

7

.4-3-2דוגמא: עץ ,7

Page 22: 2-3 trees עצי 3-2 ועצי דרגות Chapter 19: B trees (381 – 397) Chapter 15: Augmenting data structures (281 – 290) חומר קריאה לשיעור זה Lecture5 of Geiger

cs,Technion

222-3 trees

לעץ להכנסה 4מדרגה +Bדוגמא

הכנס: 5דוגמא

51 2 3 10 14 22 25 27

2 ,3 ,7 14 25 ,27

10 ,22

7

10 14 22 25 27

14 25 ,27

5 ,10 ,22

5 7

7

1 2 3

2 ,3

. בודד פיצול נדרש זה במקרה

) מעלה ) כלפי מעוגל הצמתים מחציתבענף

) מטה ) כלפי מעוגל ומחצית השמאליבימני.

. בתרגול נוספות דוגמאות

Page 23: 2-3 trees עצי 3-2 ועצי דרגות Chapter 19: B trees (381 – 397) Chapter 15: Augmenting data structures (281 – 290) חומר קריאה לשיעור זה Lecture5 of Geiger

232-3 trees

לעץ עיקרי +Bשימוש

הזיכרון ברוב המחשבים מורכב משני חלקים:

) , מהיר, ללא חלקים נעים, שבב סיליקון בודד.RAMזיכרון ראשי (

), גדול, איטי יחסית לזיכרון הראשי, בעל חלקים מכניים.DISKזיכרון משני (

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

הקריאה של הנתונים והקריאה נעשית בבלוקים.1…1000

1…1000 1…1000

מדרגה גבוהה מספקים פתרון: Bעצי +

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

מספר הגישות לזיכרון המשני תלוי במספר הרמות (וזהו מספר נמוך) הנקבע ע"י גודל הבלוק.

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

Page 24: 2-3 trees עצי 3-2 ועצי דרגות Chapter 19: B trees (381 – 397) Chapter 15: Augmenting data structures (281 – 290) חומר קריאה לשיעור זה Lecture5 of Geiger

242-3 trees

בע נוסף חיפוש צימידע

: לממש עץ חיפוש התומך, בנוסף לפעולות הכנסה/הוצאה/חיפוש, גם I בעיה הוא גובה העץ.height כאשר O(height) בעץ בזמןxבמציאת האינדקס של

בשימושים רבים של עצי חיפוש כדאי לשמור אינפורמציה נוספת בכל צומת. אינפורמציה זו משמשת להאצת פעולות נוספות הנדרשות מעצי חיפוש. למשל:

הוא מקומו בסדרה ממוינת של S בקבוצה xשל מספר )rank (: האינדקס הגדרה.2 הוא { 8,2,7,5} בקבוצה 5. האינדקס של Sאיברי

: לממש עץ חיפוש התומך במציאת סכום האיברים בעץ הקטנים מ – IIבעיה x בזמן O(height).

בבעיות אלה יש לשמור מידע נוסף בעץ החיפוש כדי שנוכל לממש את הפעולות הנוספות ביעילות הנדרשת. אנו ניראה מהו המידע שיש לשמור וכיצד להשתמש

בו. אח"כ ניראה כיצד לעדכן את המידע הנוסף כך שהעץ יישאר מאוזן.

Page 25: 2-3 trees עצי 3-2 ועצי דרגות Chapter 19: B trees (381 – 397) Chapter 15: Augmenting data structures (281 – 290) חומר קריאה לשיעור זה Lecture5 of Geiger

252-3 trees

( Rank Tree)עץ דרגות

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

נשמרים מספר v הוא עץ בו בכל צומת)rank tree( עץ דרגות הגדרה: .vהצמתים בתת-העץ ששורשו

O(height). דורשת זמן rank בעץ דרגות מציאת ה-מסקנה:

.x: לממש עץ חיפוש התומך במציאת האינדקס של איבר Iבעיה

rank(x) = 2 + 1+ 1 + |{z, y}| = 6

rank(x) = w n(w) + | {v path | v < x}|

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

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

)w בן שמאלי של צומת במסלול path (

(מלבד המפתח) v: נשמר בכל צומתפתרון. v בתת-העץ ששורשו מספר הצמתים את

. n(v)נסמן מספר זה ב-

1 1

z

y

x1

2

1 3

5

8

1 1 1

3 26

15

Page 26: 2-3 trees עצי 3-2 ועצי דרגות Chapter 19: B trees (381 – 397) Chapter 15: Augmenting data structures (281 – 290) חומר קריאה לשיעור זה Lecture5 of Geiger

cs,Technion

262-3 trees

נוסף למידע דוגמא: לממש עץ חיפוש התומך במציאת סכום האיברים בעץ הקטנים II בעיה.O(height) בזמן xמ –

נסכם את הערכים על מסלול x הקטנים מ- xהחיפוש ל-

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

מחושב 17: סכום הקטן מ- דוגמא 55) = 0 +15) + (10+9) + (8+13(ע"י

את סכום ערכי הצמתים v: נשמר בכל צומתפתרון S(v).נסמן מספר זה ב- .vבתת-העץ ששורשו

5

2 6

8

10

9 20

15 252 6

13

15 25

9 60

79

100

.O(height) זמן הריצה הוא מסקנה:

? O(log n)כיצד נבטיח זמן ריצה

Page 27: 2-3 trees עצי 3-2 ועצי דרגות Chapter 19: B trees (381 – 397) Chapter 15: Augmenting data structures (281 – 290) חומר קריאה לשיעור זה Lecture5 of Geiger

272-3 trees

(Rank tree)עץ דרגות מאוזן

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

(מלבד v. נשמור בכל צומתAVL: לדוגמא באמצעות עץ פתרון.vהמפתח) את מספר הצמתים בתת-העץ ששורשו

. n(v) זיכרו שסימנו מספר זה ב-

בזמן גלגול. n(v) נעדכן את

Page 28: 2-3 trees עצי 3-2 ועצי דרגות Chapter 19: B trees (381 – 397) Chapter 15: Augmenting data structures (281 – 290) חומר קריאה לשיעור זה Lecture5 of Geiger

cs,Technion

282-3 trees

עדכון השדה הנוסף

? n(v)כיצד נעדכן את

באחד לאורך המסלול מהשורש לעלה שהוכנס. n(v)בזמן הכנסה נגדיל את נעדכן כך:LLבזמן גלגול נעדכן את השדה כנדרש. למשל בגלגול

AL

BR

AR

h

B

A

v

AR

AL

BRv

B

An(B)

n(A)

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

n(A)+n(3)+1

n(1)

n(2) n(3)

n(B)-n(A)+n(2)

Page 29: 2-3 trees עצי 3-2 ועצי דרגות Chapter 19: B trees (381 – 397) Chapter 15: Augmenting data structures (281 – 290) חומר קריאה לשיעור זה Lecture5 of Geiger

cs,Technion

292-3 trees

דוגמא נוספת

? AVL המפתחות בכל תת-עץ של עץ סכוםכיצד נעדכן את

בזמן הכנסה נגדיל את הסכום לאורך המסלול מהשורש לעלה שהוכנס. נעדכן כך:LLבזמן גלגול נעדכן את השדה כנדרש. למשל בגלגול

AL

BR

AR

h

B

A

v

AR

AL

BRv

B

AS(B)

S(A)

S(1) S(2)S(3)

S(A)+S(3)+B

S(1)

S(2) S(3)

S(B)-S(A)+S(2)

: מהו העדכון בגלגולים האחרים ? כיצד מבצעים זאת תרגיל בית ? 3-2עם עץ