איך לאזן עץ AVL (מבנה נתונים)

איך לאזן עץ AVL (מבנה נתונים)

יש אנשים שמפחדים בעכבישים ויש אנשים שמפחדים מעצי AVL, בעזרת מדריך זה נלמד לאזן עץ AVL, ובסוף היום זה יראה לכם כמו משחק ילדים.

Hard 2,545 views

What You'll Need

  • גלגול עצים
  • עצי AVL
  • עצים בינאריים
  • איזון עצים

Steps

  1. 1

    Step 1

    Step 1
    עץ AVL הינו עץ חיפוש בינארי כלומר לכל קודקוד מקסימום 2 בנים וכל הבנים מימין גדולים מהקודקוד והבנים משמאל קטנים ממנו. תחילה נלמד לאבחן האם עץ AVL מאוזן או לא ואם הוא אינו מאוזן, היכן מופר האיזון.
  2. 2

    Step 2

    Step 2
    עץ AVL נקרא עץ מאוזן רק אם הפרש הבנים מצד ימין ומצד שמאל של כל הקודקודים הינו 1. ניקח את הדוגמא הזו: אנו רואים שלמספר 10 בן משמאל ובן מימין, ולבנו מימין בן נוסף. העץ הזה מאוזן מכיוון שההפרש בין מספר הבנים של 10 משמאל (1) למספר הבנים מימין (2) הוא 1.
  3. 3

    Step 3

    Step 3
    כעת נכניס איבר נוסף (13) וניצור עץ שאינו מאוזן. העץ הזה אינו מאוזן מכיוון שהפרש מספר הבנים של 14 מימין ומשמאל אינו שווה ל1. ההפרש בין תת העץ של 14 משמאל (2) לתת העץ הימני שלו (0) הינו 2 - כלומר , נוצר חוסר איזון. זוהי נקודת ההפרה. במקרה של חוסר איזון נעשה פעולה אשר תאזן את העץ תקרא גלגול או רוטציה.
  4. 4

    Step 4

    Step 4
    אז בכדי לבצע גלגול עלינו למצוא את נקודת ההפרה ולסמן את הנתיב מנקודת ההפרה כלפי מטה ב X,Y,Z , לדוגמא:
  5. 5

    Step 5

    קיימים 4 סוגים של גלגולים: 1. אם נתיב ההפרה (מלמעלה למטה) הינו שמאלה-שמאלה אנו נבצע גלגול לX לימין. 2. אם נתיב ההפרה (מלמעלה למטה) הינו ימינה-ימינה, נבצע גלגול לX לשמאל. 3. אם נתיב ההפרה (מלמעלה למטה) הינו ימינה-שמאלה, נבצע גלגול לY לימין ולאחר מכן נבצע גלגול לX לשמאל. 4. אם נתיב ההפרה (מלמעלה למטה) הינו שמאלה-ימינה, נבצע גלגול לY לשמאל ולאחר מכן נבצע גלגול לX לימין. לצורך פשטות נקרא כעת לימין R ולשמאל L. בקצרה:
  6. 6

    Step 6

    RR -> L(X) LL -> R(X) LR -> L(Y)R(X) RL -> R(Y)L(X)
  7. 7

    Step 7

    Step 7
    בואו נבצע איזון לדוגמא הקודמת. אנו רואים שנקודת ההפרה נמצאת ב10 ונתיב ההפרה הוא שמאל ימין, כלומר LR. לכן תחילה נבצע גלגול לY לשמאל - כלומר 12 ירד שמאלה ובמקומו יעלה ה13.
  8. 8

    Step 8

    Step 8
    ונקבל:
  9. 9

    Step 9

    Step 9
    כעת על פי הפעולות שעלינו לעשות, נשאר לבצע גלגול X לימין. ה14 ירד ימינה ובמקומו יעלה ה13 ובנו הימני יישאר 12.
  10. 10

    Step 10

    Step 10
    ולבסוף נקבל עץ מאוזן. במידה והמקרה היה הפוך ונתיב ההפרה היה RL היינו מבצעים גלגול Y לימין וגלגול X לשמאל.
  11. 11

    Step 11

    Step 11
    נעשה כעת דוגמא פשוטה יותר שבו נתיב ההפרה הוא RR. תחילה נסמן את הנתיב בX,Y,Z (מלמעלה למטה)
  12. 12

    Step 12

    Step 12
    מכיוון שנתיב ההפרה הוא RR נבצע גלגול של X לשמאל. 13 ירד לשמאל, 14 יחליף את מקומו ו15 יישאר הבן מימין.
  13. 13

    Step 13

    Step 13
    ונקבל: כמובן שבמקרה ההפוך של LL נעשה גלגול של X לימין.

Related Guides

Programming in PERL (Part One)

Programming in PERL (Part One)

The purpose of the guide (s) is to give you basic knowledge so you can continue to explore the language in depth. This guide will cover the following topics: 1. Introduction - Why PERL? 2. Who needs this guide? 3. What you need to start programming? 4. Hello World!

Medium 995 views
איך ליצור פרויקט  C חדש בVisual studio 2008

איך ליצור פרויקט C חדש בVisual studio 2008

במדריך זה נסביר כיצד להתחיל פרויקט חדש בסי בעזרת ויז'ואל סטודיו 2008 - אחת מסביבות הפיתוח הנפוצות כיום בשוק. הפרויקט החדש שניצור הינו אפליקציית קונסול (דרך עבודה סטנדרטית למפתחים מתחילים בסי).

Easy 2K views
איך לכתוב ביטויים וסימנים מתמטיים במחשב (ווינדוס 7)

איך לכתוב ביטויים וסימנים מתמטיים במחשב (ווינדוס 7)

מיקרוסופט התחשבו בסטודנטים ואנשי מקצוע המשתמשים בווינדוס והוסיפה את אפליקצית הMath, אפליקציה זו מאפשרת למשתמשים לרשום בכתב יד את הנוסחא המתמטית שהם רוצים והנוסחא תוצג בצורה מסודרת כך שתוכלו לשים אותה במעבד תמלילים.

Easy 1K views

איך להשתמש בנוסחאות הכפל המקוצר ממעלה שניה

לפעמים אני מוצא את עצמי יושב ומחפש נוסחאות שפרחו מזכרוני. לכן הוספתי מדריך שמראה את נוסחאות הכפל המקוצר ממעלה שניה.

Medium 1K views

How to put together a class schedule

How to choose courses and how to choose a schedule

Easy 1K views
איך לעשות מבחן GMAT

איך לעשות מבחן GMAT

הGMAT הינו מבחן כניסה לתואר שני למנהל עסקים. הGraduate Managment Admission Test הוא תנאי כניסה הכרחי בכ1900 בתי ספר למנהל עסקים בארץ ובעולם לתואר MBA.

Easy 2K views