Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Data Structures, CS, TAU, Splay Tree Splay Tree  מימוש של עץ חיפוש בינארי  מטרה לדאוג ל- Amortized Time  פעולה בודדת יכולה לקחת O(N)  אבל כל רצף.

Similar presentations


Presentation on theme: "1 Data Structures, CS, TAU, Splay Tree Splay Tree  מימוש של עץ חיפוש בינארי  מטרה לדאוג ל- Amortized Time  פעולה בודדת יכולה לקחת O(N)  אבל כל רצף."— Presentation transcript:

1 1 Data Structures, CS, TAU, Splay Tree Splay Tree  מימוש של עץ חיפוש בינארי  מטרה לדאוג ל- Amortized Time  פעולה בודדת יכולה לקחת O(N)  אבל כל רצף M פעולות לוקח O(M log N)  בעית עץ חיפוש בינארי - עץ עמוק (לא מאוזן)  אם ביקשנו צומת מסוים הנמצא עמוק עלינו לשנות את העץ - אחרת M גישות אליו יגרמו ל- O(M*N)  תורם לביצועים כי סיכויי הגישה החוזרת גבוהים. - תכונה נוספת: צמתים שנגענו בהם צפים למעלה

2 2 Data Structures, CS, TAU, Splay Tree הצף את הצומת שניגשו אליו ע”י Rotate דוגמא: k5k5 k4k4 A k3k3 k2k2 k1k1 C B D E F (מסלול גישה מסומן באדום) Rotate k5k5 k4k4 A k3k3 k1k1 k2k2 C B D E F רעיון פשוט

3 3 Data Structures, CS, TAU, Splay Tree k5k5 k4k4 A k3k3 k2k2 k1k1 CB D E F (מסלול גישה מסומן באדום) Rotate k5k5 k4k4 A k3k3 k2k2 k1k1 C B D E F

4 4 Data Structures, CS, TAU, Splay Tree k5k5 k4k4 A k3k3 k2k2 k1k1 C B D E F Rotate

5 5 Data Structures, CS, TAU, Splay Tree בעיה: k 3 שקוע (כמעט) לעומקו המקורי של k 1 בעיה: ישנם מקרים שלוקחים  (M*N) דוגמה לבעיה זו בעמ’ הבא. בעיות בעץ

6 6 Data Structures, CS, TAU, Splay Tree Find(1) 5 3 4 2 1 53 4 1 2 5 1 4 2 3 5 1 2 3 4 2 1 3 4 5 דוגמא

7 7 Data Structures, CS, TAU, Splay Tree 2 1 3 4 5 Find(2) 3 1 4 5 2 3 1 4 5 2 Find(3) 3 1 4 5 2 Find(4) 3 1 4 5 2

8 8 Data Structures, CS, TAU, Splay Tree  N פעולות לוקחות שפוץ: ביצוע Rotate משופר, המבוצע על שלישיית צמתים. שתי אפשרויות: Zig-zag Zig-zig ?

9 9 Data Structures, CS, TAU, Splay Tree A D G P B C X A B G P C D X Zig-zag A D G P B C X A D G P B C X Zig-zig

10 10 Data Structures, CS, TAU, Splay Tree דוגמא: k5k5 k4k4 A k3k3 k2k2 k1k1 C B D E F (מסלול גישה מסומן באדום) Rotate חזרה לדוגמה

11 11 Data Structures, CS, TAU, Splay Tree k5k5 k4k4 A k3k3 k2k2 k1k1 C B D E F k 1, Zig-Zag gives: k5k5 k4k4 A k3k3 k2k2 k1k1 C B D E F k 1, Zig-Zig gives: חזרה לדוגמא

12 12 Data Structures, CS, TAU, Splay Tree 5 3 4 2 1 7 6 5 4 7 6 1 2 3 1 4 6 5 7 2 3 1 2 7 6 4 3 5 Splaying at Node 1

13 13 Data Structures, CS, TAU, Splay Tree דוגמא (אותה דוגמה חוזרת מוגדלת מאוחר יותר)

14 14 Data Structures, CS, TAU, Splay Tree המשך דוגמא

15 15 Data Structures, CS, TAU, Splay Tree המשך דוגמא

16 16 Data Structures, CS, TAU, Splay Tree סוף דוגמא

17 17 Data Structures, CS, TAU, Splay Tree 3 2 5 4 7 6 9 8 11 10 13 12 15 14 17 16 19 18 21 20 23 22 25 24 27 26 29 28 31 30 32 1 אותה דוגמא מוגדלת Result of splaying at node 1 a tree of all left children גובה עץ קטן פי 2!

18 18 Data Structures, CS, TAU, Splay Tree 4 5 7 6 32 2 3 8 9 11 10 12 13 15 14 16 17 19 18 20 21 23 22 24 25 27 26 28 29 31 30 1 Result of splaying previous tree at node 2 גובה עץ קטן פי 2!

19 19 Data Structures, CS, TAU, Splay Tree 4 3 8 911 10 2 57 6 12 16 1719 18 1315 14 20 24 2527 26 2123 22 28 32 2931 30 1 Result of splaying previous tree at node 3 גובה עץ קטן פי 2!

20 20 Data Structures, CS, TAU, Splay Tree 6 32 3 2 8 911 10 7 5 28 2931 30 1 16 1719 18 1315 14 24 2527 26 2123 22 4 20 12 Result of splaying previous tree at node 4

21 21 Data Structures, CS, TAU, Splay Tree 32 3 2 28 2931 30 1 16 1719 18 1315 14 24 2527 26 2123 22 4 20 8 911 10 6 7 5 12 Result of splaying previous tree at node 5

22 22 Data Structures, CS, TAU, Splay Tree 32 28 2931 30 16 1719 18 1315 14 24 2527 26 2123 22 20 8 911 10 7 12 3 2 1 4 5 6 Result of splaying previous tree at node 6

23 23 Data Structures, CS, TAU, Splay Tree 32 28 2931 30 16 1719 18 1315 14 24 2527 26 2123 22 20 911 10 12 3 2 1 4 5 6 7 8 Result of splaying previous tree at node 7

24 24 Data Structures, CS, TAU, Splay Tree 32 28 2931 30 16 1719 18 1315 14 24 2527 26 2123 22 20 911 10 12 3 2 1 4 5 6 7 8 Result of splaying previous tree at node 8

25 25 Data Structures, CS, TAU, Splay Tree 32 28 2931 30 16 1719 18 1315 14 24 2527 26 2123 22 20 9 10 11 12 3 2 1 4 5 6 7 8 Result of splaying previous tree at node 9

26 26 Data Structures, CS, TAU, Splay Tree הערות 1) פעולות זולות - עשויות להוליך לעץ לא טוב (כמו בנית העץ המקורי) 2) פעולות יקרות - מוליכות לעץ טוב  זמן Amortized יהיה טוב


Download ppt "1 Data Structures, CS, TAU, Splay Tree Splay Tree  מימוש של עץ חיפוש בינארי  מטרה לדאוג ל- Amortized Time  פעולה בודדת יכולה לקחת O(N)  אבל כל רצף."

Similar presentations


Ads by Google