Create an AVL tree for the data

給資料建立AVL樹

 資料 20、30、10、50、60、40、45、5 請建立成一棵 AVL 樹,(6 分)請依序

刪除 60 及 30,在推導過程需註明旋轉的類別。(6 分


首先,建立一棵 AVL 樹並插入給定的資料:20、30、10、50、60、40、45、5。 AVL 樹的平衡操作包括旋轉,這些旋轉有LL旋轉、LR旋轉、RR旋轉和RL旋轉。


1. 插入 20,樹變成:


```

       20

```


2. 插入 30,樹變成:


```

       20

        \

         30

```


3. 插入 10,需要進行旋轉(RR旋轉),樹變成:


```

       20

        \

         30

        /

       10

```


4. 插入 50,樹變成:


```

       20

        \

         30

        /  \

       10   50

```


5. 插入 60,需要進行旋轉(LL旋轉),樹變成:


```

       30

      /  \

     20   50

    /    /  \

   10   40   60

```


6. 插入 40,需要進行旋轉(LR旋轉),樹變成:


```

       30

      /  \

     20   50

    /    /  \

   10   40   60

             /

           45

```

7. 插入 5,需要進行旋轉(RR旋轉),樹變成:


```

       30

      /  \

     20   50

    /    /  \

   10   45   60

        /

       40

```

AVL 樹現在已經平衡了。


接下來,我們依序刪除節點 60 和 30:


刪除 60:


```

       30

      /  \

     20   50

    /    /  \

   10   45   -

        /

       40

```

刪除 30,需要進行旋轉(LL旋轉):


```

       40

      /  \

     20   50

    /    /  

   10   45   

```

現在,AVL 樹仍然是平衡的。


Comments

Popular posts from this blog

How to write data into a excel file using vbscript

Format date as yyyy-mm-dd using vbscript