עיצוב עץ חיפוש בינארי: Al ו Red-Black Tree Principles
עצי חיפוש בינאריים הם מבנים נתונים ששומרים על נתונים מדומים ולהבטיח פעולות יעילות כגון חיפוש, שילוב ומחיקה. שני סוגים נפוצים הם עצי AVL ועצים שחורים אדומים, כל אחד עם עקרונות איזון ייחודיים אשר אופטימיזציה ביצועים.
AVL Trees
עצי AVL הם עצי חיפוש בינאריים עצמיים שבו ההבדל בגובה בין העצירים הימניים והשמאליים של כל צומת הוא ברוב אחד.מאזן קפדני זה מבטיח זמני חיפוש מהירים יותר, אבל דורש יותר סיבובים במהלך ההכנסות וההונות כדי לשמור על איזון.
כאשר צומת הופך ללא איזון לאחר ניתוח, הסיבובים מבוצעים כדי לשחזר את נכס AVL. סיבובים אלה כוללים סיבובים בודדים וכפליים, אשר מסייעים לשמור על פערי הבדל הגובה.
עץ שחור-אדום
עצי אדום-שחור הם סוג של עץ חיפוש בינארי שמקצה צבע (אדום או שחור) לכל אחד מהצומת.כללי הצבע להבטיח שהעץ נשאר מאוזן, ללא נתיב מהשורש לעלון, יותר מפי שניים מכל אחד אחר.
תכונות מפתח כוללות:
- כל צומת הוא אדום או שחור.
- השורש תמיד שחור.
- לא ניתן לחבושות אדומות.
- כל דרך מצומת אל העלים הצאצאים שלה מכילה את אותו מספר של צמתים שחורים.
תכונות אלה מאפשרות לעצים אדומים-שחורים לבצע התערבויות וסטיות ביעילות תוך שמירה על איזון באמצעות צבע וסיבובים.
השוואה בין AVL ו- Red-Black Trees
גם עצי AVL וגם עצי שחור שואפים לשמור על העץ מאוזן לביצועים אופטימליים. עצי AVL נוטים להיות מאוזנים יותר, לספק תצפיות מהירות יותר, אבל עשוי לדרוש יותר סיבובים במהלך עדכונים. עצי אדום-שחור הם פחות נוקשים, מציעים הנחות מהירות יותר ודברים עם מעט יותר נצפים איטיים.