AVL trees AVL Trees We have seen that
- Slides: 16
AVL trees
AVL Trees We have seen that all operations depend on the depth of the tree. We don’t want trees with nodes which have large height This can be attained if both subtrees of each node have roughly the same height. AVL tree is a binary search tree where the height of the two subtrees of a node differs by at most one Height of a null tree is -1
5 Not AVL Tree 3 4 1 5 3 1 8 4 AVL Tree 10
Section 10. 4 KR Suppose an AVL tree of height h contains at most S(h) nodes: S(h) = L(h) + R(h) + 1 L(h) is the number of nodes in left subtree R(h) is the number of nodes in right subtree You have larger number of nodes if there is larger imbalance between the subtrees This happens if one subtree has height h, another h-2 Thus, S(h) = S(h) + S(h-2) + 1
Operations in AVL Tree Searching, Complexity? Find. Min, Complexity? Deletion? Insertion? O(log N)
Insertion Search for the element If it is not there, insert it in its place. Any problem? Insertion may imbalance the tree. Heights of two children of a node may differ by 2 after an insertion. Tree Rotations used to restore the balance.
If an insertion cause an imbalance, which nodes can be affected? Nodes on the path of the inserted node. Let U be the node nearest to the inserted one which has an imbalance. insertion in the left subtree of the left child of U insertion in the right subtree of the left child of U insertion in the left subtree of the right child of U insertion in the right subtree of the right child of U
Insertion in left child of left subtree Single Rotation V U Z X Y Y X Before Rotation After Rotation Z
5 8 3 3 4 1 0. 8 X Insert 0. 8 3 5 1 4 After Rotation 8 8 V 4 1 AVL Tree 0. 8 U 5 Y Z
Double Rotation Suppose, imbalance is due to an insertion in the left subtree of right child Single Rotation does not work! U V Before Rotation W V D After Rotation U W A A B C D
5 5 V 3 8 4 1 A AVL Tree 5 3. 5 Insert 3. 5 4 0. 8 4 B 3 8 3 1 After Rotation 8 U W D
Extended Example Insert 3, 2, 1, 4, 5, 6, 7, 16, 15, 14 3 3 3 2 2 Fig 1 2 1 3 Fig 4 Fig 2 1 2 Fig 3 1 3 Fig 5 2 1 3 Fig 6 4 4 5
2 2 1 1 4 4 3 5 Fig 8 Fig 7 4 2 2 1 6 4 5 5 6 3 Fig 9 4 Fig 10 2 1 6 3 1 6 7 3 5 Fig 11 7
4 4 2 2 6 7 3 1 1 Fig 12 1 6 3 Fig 14 5 15 7 16 16 5 Fig 13 4 7 3 16 5 2 6 15
4 4 2 1 2 6 3 Fig 15 5 15 1 7 3 6 16 7 14 5 14 Deletions can be done with similar rotations 15 Fig 16 16
Rings a bell! Fibonacci numbers FN N S(h) h h is O(log N) Using this you can show that h = O(log N)
- Tôn thất thuyết là ai
- Phân độ lown ngoại tâm thu
- Chiến lược kinh doanh quốc tế của walmart
- Gây tê cơ vuông thắt lưng
- Premature atrial contraction
- Tìm độ lớn thật của tam giác abc
- Sau thất bại ở hồ điển triệt
- Thể thơ truyền thống
- Hãy nói thật ít để làm được nhiều
- Thơ thất ngôn tứ tuyệt đường luật
- E-yeh-shure poems
- Have you ever been to a museum
- I have never seen a coward man like sohan
- Have u ever seen a penguin come to tea
- What have they seen in your house
- Animals who have ears but we cannot see
- Go and tell john what you have seen