עץ Splay

מתוך testwiki
גרסה מ־06:00, 4 בספטמבר 2023 מאת imported>KotzBot (הוספת פרק קישורים חיצוניים + תבנית:MathWorld (בערכים בהם אין קישורים חיצוניים) (תג))
(הבדל) → הגרסה הקודמת | הגרסה האחרונה (הבדל) | הגרסה הבאה ← (הבדל)
קפיצה לניווט קפיצה לחיפוש

במדעי המחשב, עץ Splay הוא מבנה נתונים של עץ חיפוש בינארי לא בהכרח מאוזן בעל התכונה המאפשרת גישה חוזרת מהירה לאיברים אליהם בוצעה גישה לאחרונה. הוא מאפשר פעולות בסיסיות כגון הכנסה, חיפוש והסרה של איברים בסיבוכיות זמן של  O(logn)ניתוח לשיעורין). עבור פעולות לא אקראיות רבות, עץ Splay מתגלה כיעיל יותר מעצי חיפוש אחרים, אפילו כאשר תבנית רצף הפעולות המסוימת אינה ידועה מראש. עץ ה-Splay הומצא על ידי דניאל סליטור ורוברט טרג'אן ב-1985.

בעץ Splay, לכל הפעולות הרגילות שניתן לבצע על עץ חיפוש בינארי מתווספת פעולה בסיסית נוספת הנקראת splaying. ביצוע splaying לעץ עבור איבר מסוים פירושו ארגון מחדש של העץ כך שהאיבר ימצא בשורשו של העץ. דרך אחת לבצע זאת היא ראשית על ידי ביצוע של חיפוש בינארי רגיל של האיבר בעץ ולאחר מכן להשתמש בפעולות סיבוב בעץ, בדומה לפעולות הסיבוב המבוצעות בעץ AVL, כדי להביא את האיבר אל שורש העץ. לחלופין, אלגוריתם top- down יכול לשלב את פעולת החיפוש ופעולת הסידור לכדי שלב ביצוע אחד.

תבנית:מבני נתונים

קישורים חיצוניים

תבנית:קצרמר