ערימה בינומית – הבדלי גרסאות

תוכן שנמחק תוכן שנוסף
אין תקציר עריכה
שורה 8:
ערימה בינומית ממומשת כאוסף של [[עץ בינומי|עצים בינומיים]]. עץ בינומי מוגדר [[רקורסיה|רקורסיבית]]: עץ מדרגה 0 הוא שורש בלבד, ועץ מדרגה i הוא חיבור של שני עצים מדרגה i-1, כאשר השורש של אחד מהם הוא הבן של שורש השני. בנוסף, כל אחד מהעצים מקיים את "כלל הערימה": ערך כל צומת קטן יותר מערכי כל בניו (ערימה כזאת נקראת "ערימת מינימום". ניתן גם לבנות "ערימת מקסימום", בה כל צומת גדול משני בניו).
 
בעץ בינומי מדרגה i יש <math>2^i</math> קודקודים, והערמהוהערימה בנויה כך שמכל דרגה יש עץ אחד לכל היותר. כתוצאה מכך יש מבנה אפשרי יחיד לערימה, הנובע מהייצוג ה[[בסיס בינארי|בינארי]] של גודלה. (לדוגמה, בערימה מגודל 25 (11001 ב[[בסיס בינארי]]) יהיה עץ אחד מדרגה 0, עץ אחד מדרגה 3 ועץ אחד מדרגה 4). את שורשי העצים מחזיקים בדרך כלל ב[[רשימה מקושרת]] כפולה (כלומר עם מצביעים אחורה).
 
==פעולות==