Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


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

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

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

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

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

5 5 בעיה : k 3 שקוע ( כמעט ) לעומקו המקורי של k 1 בעיה : ישנם מקרים שלוקחים  בעיות בעץ דוגמה לבעיה זו בעמ ’ הבא. לא בטוח ש צריך את הדוגמא בכלל !!!!

6 Data Structures, CS, TAU, Splay Tree 6 דוגמא : 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 Data Structures, CS, TAU, Splay Tree 7 2 1 3 4 5 Find(2) 3 1 4 5 2 3 1 4 5 2Find(3) 3 1 4 5 2 Find(4) 3 1 4 5 2

8 8  N פעולות לוקחות שפוץ : ביצוע Rotate משופר, ביצוע Rotate משופר, המבוצע על שלישיית צמתים. ( שתי אפשרויות : ) Zig-zagZig-zig

9 Data Structures, CS, TAU, Splay Tree 9 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 Data Structures, CS, TAU, Splay Tree 10 חזרה לדוגמא k5k5 k4k4 A k3k3 k2k2 k1k1 C B D E F k 1, Zig-Zag gives: k 1, Zig-Zag gives: k5k5 k4k4 A k3k3 k2k2 k1k1 C B D E F k 1, Zig-Zig gives: k 1, Zig-Zig gives:

11 Data Structures, CS, TAU, Splay Tree 11 Splaying at node 1 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

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

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

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

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

16 Data Structures, CS, TAU, Splay Tree 16 Result of splaying at node 1 a tree of all left children 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 אותה דוגמא מוגדלת

17 Data Structures, CS, TAU, Splay Tree 17 Result of splaying previous tree at node 2 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

18 Data Structures, CS, TAU, Splay Tree 18 Result of splaying previous tree at node 3 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

19 Data Structures, CS, TAU, Splay Tree 19 Result of splaying previous tree at node 4 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

20 Data Structures, CS, TAU, Splay Tree 20 Result of splaying previous tree at node 5 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

21 Data Structures, CS, TAU, Splay Tree 21 Result of splaying previous tree at node 6 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

22 Data Structures, CS, TAU, Splay Tree 22 Result of splaying previous tree at node 7 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

23 Data Structures, CS, TAU, Splay Tree 23 Result of splaying previous tree at node 8 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

24 Data Structures, CS, TAU, Splay Tree 24 Result of splaying previous tree at node 9 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

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


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

Similar presentations


Ads by Google