********************** * BINARY SEARCH TREE * ********************** Insert node 62: 62 Insert node 71: 62 \ \ 71 Insert node 29: 62 /\ / \ 29 71 Insert node 88: 62 /\ -- -- / \ 29 71 \ \ 88 Insert node 11: 62 /\ -- -- / \ 29 71 / \ / \ 11 88 Insert node 41: 62 /\ -- -- / \ 29 71 /\ \ / \ \ 11 41 88 Insert node 21: 62 /\ ------ ------ / \ 29 71 /\ \ -- -- -- / \ \ 11 41 88 \ \ 21 Insert node 66: 62 /\ ------ ------ / \ 29 71 /\ /\ -- -- -- -- / \ / \ 11 41 66 88 \ \ 21 Insert node 57: 62 /\ ------ ------ / \ 29 71 /\ /\ -- -- -- -- / \ / \ 11 41 66 88 \ \ \ \ 21 57 Insert node 27: 62 /\ -------------- -------------- / \ 29 71 /\ /\ ------ ------ ------ ------ / \ / \ 11 41 66 88 \ \ -- -- \ \ 21 57 \ \ 27 Insert node 39: 62 /\ -------------- -------------- / \ 29 71 /\ /\ ------ ------ ------ ------ / \ / \ 11 41 66 88 \ /\ -- -- -- \ / \ 21 39 57 \ \ 27 Insert node 40: 62 /\ -------------- -------------- / \ 29 71 /\ /\ ------ ------ ------ ------ / \ / \ 11 41 66 88 \ /\ -- -- -- \ / \ 21 39 57 \ \ \ \ 27 40 Insert node 77: 62 /\ -------------- -------------- / \ 29 71 /\ /\ ------ ------ ------ ------ / \ / \ 11 41 66 88 \ /\ / -- -- -- -- \ / \ / 21 39 57 77 \ \ \ \ 27 40 Insert node 20: 62 /\ -------------- -------------- / \ 29 71 /\ /\ ------ ------ ------ ------ / \ / \ 11 41 66 88 \ /\ / -- -- -- -- \ / \ / 21 39 57 77 /\ \ / \ \ 20 27 40 Insert node 51: 62 /\ -------------- -------------- / \ 29 71 /\ /\ ------ ------ ------ ------ / \ / \ 11 41 66 88 \ /\ / -- -- -- -- \ / \ / 21 39 57 77 /\ \ / / \ \ / 20 27 40 51 Insert node 49: 62 /\ ------------------------------ ------------------------------ / \ 29 71 /\ /\ -------------- -------------- -------------- -------------- / \ / \ 11 41 66 88 \ /\ / ------ ------ ------ ------ \ / \ / 21 39 57 77 /\ \ / -- -- -- -- / \ \ / 20 27 40 51 / / 49 Insert node 82: 62 /\ ------------------------------ ------------------------------ / \ 29 71 /\ /\ -------------- -------------- -------------- -------------- / \ / \ 11 41 66 88 \ /\ / ------ ------ ------ ------ \ / \ / 21 39 57 77 /\ \ / \ -- -- -- -- -- / \ \ / \ 20 27 40 51 82 / / 49 Insert node 37: 62 /\ ------------------------------ ------------------------------ / \ 29 71 /\ /\ -------------- -------------- -------------- -------------- / \ / \ 11 41 66 88 \ /\ / ------ ------ ------ ------ \ / \ / 21 39 57 77 /\ /\ / \ -- -- -- -- -- -- / \ / \ / \ 20 27 37 40 51 82 / / 49 Insert node 94: 62 /\ ------------------------------ ------------------------------ / \ 29 71 /\ /\ -------------- -------------- -------------- -------------- / \ / \ 11 41 66 88 \ /\ /\ ------ ------ ------ ------ ------ \ / \ / \ 21 39 57 77 94 /\ /\ / \ -- -- -- -- -- -- / \ / \ / \ 20 27 37 40 51 82 / / 49 Insert node 63: 62 /\ ------------------------------ ------------------------------ / \ 29 71 /\ /\ -------------- -------------- -------------- -------------- / \ / \ 11 41 66 88 \ /\ / /\ ------ ------ ------ ------ ------ ------ \ / \ / / \ 21 39 57 63 77 94 /\ /\ / \ -- -- -- -- -- -- / \ / \ / \ 20 27 37 40 51 82 / / 49 Insert node 76: 62 /\ ------------------------------ ------------------------------ / \ 29 71 /\ /\ -------------- -------------- -------------- -------------- / \ / \ 11 41 66 88 \ /\ / /\ ------ ------ ------ ------ ------ ------ \ / \ / / \ 21 39 57 63 77 94 /\ /\ / /\ -- -- -- -- -- -- -- / \ / \ / / \ 20 27 37 40 51 76 82 / / 49 Insert node 91: 62 /\ ------------------------------ ------------------------------ / \ 29 71 /\ /\ -------------- -------------- -------------- -------------- / \ / \ 11 41 66 88 \ /\ / /\ ------ ------ ------ ------ ------ ------ \ / \ / / \ 21 39 57 63 77 94 /\ /\ / /\ / -- -- -- -- -- -- -- -- / \ / \ / / \ / 20 27 37 40 51 76 82 91 / / 49 Insert node 70: 62 /\ ------------------------------ ------------------------------ / \ 29 71 /\ /\ -------------- -------------- -------------- -------------- / \ / \ 11 41 66 88 \ /\ /\ /\ ------ ------ ------ ------ ------ ------ ------ \ / \ / \ / \ 21 39 57 63 70 77 94 /\ /\ / /\ / -- -- -- -- -- -- -- -- / \ / \ / / \ / 20 27 37 40 51 76 82 91 / / 49 Insert node 64: 62 /\ ------------------------------ ------------------------------ / \ 29 71 /\ /\ -------------- -------------- -------------- -------------- / \ / \ 11 41 66 88 \ /\ /\ /\ ------ ------ ------ ------ ------ ------ ------ \ / \ / \ / \ 21 39 57 63 70 77 94 /\ /\ / \ /\ / -- -- -- -- -- -- -- -- -- / \ / \ / \ / \ / 20 27 37 40 51 64 76 82 91 / / 49 Insert node 60: 62 /\ ------------------------------ ------------------------------ / \ 29 71 /\ /\ -------------- -------------- -------------- -------------- / \ / \ 11 41 66 88 \ /\ /\ /\ ------ ------ ------ ------ ------ ------ ------ \ / \ / \ / \ 21 39 57 63 70 77 94 /\ /\ /\ \ /\ / -- -- -- -- -- -- -- -- -- -- / \ / \ / \ \ / \ / 20 27 37 40 51 60 64 76 82 91 / / 49 Insert node 90: 62 /\ ------------------------------ ------------------------------ / \ 29 71 /\ /\ -------------- -------------- -------------- -------------- / \ / \ 11 41 66 88 \ /\ /\ /\ ------ ------ ------ ------ ------ ------ ------ \ / \ / \ / \ 21 39 57 63 70 77 94 /\ /\ /\ \ /\ / -- -- -- -- -- -- -- -- -- -- / \ / \ / \ \ / \ / 20 27 37 40 51 60 64 76 82 91 / / / / 49 90 Insert node 12: 62 /\ ------------------------------ ------------------------------ / \ 29 71 /\ /\ -------------- -------------- -------------- -------------- / \ / \ 11 41 66 88 \ /\ /\ /\ ------ ------ ------ ------ ------ ------ ------ \ / \ / \ / \ 21 39 57 63 70 77 94 /\ /\ /\ \ /\ / -- -- -- -- -- -- -- -- -- -- / \ / \ / \ \ / \ / 20 27 37 40 51 60 64 76 82 91 / / / / / / 12 49 90 Insert node 80: 62 /\ ------------------------------ ------------------------------ / \ 29 71 /\ /\ -------------- -------------- -------------- -------------- / \ / \ 11 41 66 88 \ /\ /\ /\ ------ ------ ------ ------ ------ ------ ------ \ / \ / \ / \ 21 39 57 63 70 77 94 /\ /\ /\ \ /\ / -- -- -- -- -- -- -- -- -- -- / \ / \ / \ \ / \ / 20 27 37 40 51 60 64 76 82 91 / / / / / / / / 12 49 80 90 Insert node 23: 62 /\ ------------------------------ ------------------------------ / \ 29 71 /\ /\ -------------- -------------- -------------- -------------- / \ / \ 11 41 66 88 \ /\ /\ /\ ------ ------ ------ ------ ------ ------ ------ \ / \ / \ / \ 21 39 57 63 70 77 94 /\ /\ /\ \ /\ / -- -- -- -- -- -- -- -- -- -- / \ / \ / \ \ / \ / 20 27 37 40 51 60 64 76 82 91 / / / / / / / / / / 12 23 49 80 90 Insert node 10: 62 /\ ------------------------------ ------------------------------ / \ 29 71 /\ /\ -------------- -------------- -------------- -------------- / \ / \ 11 41 66 88 /\ /\ /\ /\ ------ ------ ------ ------ ------ ------ ------ ------ / \ / \ / \ / \ 10 21 39 57 63 70 77 94 /\ /\ /\ \ /\ / -- -- -- -- -- -- -- -- -- -- / \ / \ / \ \ / \ / 20 27 37 40 51 60 64 76 82 91 / / / / / / / / / / 12 23 49 80 90 Insert node 52: 62 /\ ------------------------------ ------------------------------ / \ 29 71 /\ /\ -------------- -------------- -------------- -------------- / \ / \ 11 41 66 88 /\ /\ /\ /\ ------ ------ ------ ------ ------ ------ ------ ------ / \ / \ / \ / \ 10 21 39 57 63 70 77 94 /\ /\ /\ \ /\ / -- -- -- -- -- -- -- -- -- -- / \ / \ / \ \ / \ / 20 27 37 40 51 60 64 76 82 91 / / /\ / / / / / \ / / 12 23 49 52 80 90 Insert node 35: 62 /\ ------------------------------ ------------------------------ / \ 29 71 /\ /\ -------------- -------------- -------------- -------------- / \ / \ 11 41 66 88 /\ /\ /\ /\ ------ ------ ------ ------ ------ ------ ------ ------ / \ / \ / \ / \ 10 21 39 57 63 70 77 94 /\ /\ /\ \ /\ / -- -- -- -- -- -- -- -- -- -- / \ / \ / \ \ / \ / 20 27 37 40 51 60 64 76 82 91 / / / /\ / / / / / / \ / / 12 23 35 49 52 80 90 Insert node 96: 62 /\ ------------------------------ ------------------------------ / \ 29 71 /\ /\ -------------- -------------- -------------- -------------- / \ / \ 11 41 66 88 /\ /\ /\ /\ ------ ------ ------ ------ ------ ------ ------ ------ / \ / \ / \ / \ 10 21 39 57 63 70 77 94 /\ /\ /\ \ /\ /\ -- -- -- -- -- -- -- -- -- -- -- / \ / \ / \ \ / \ / \ 20 27 37 40 51 60 64 76 82 91 96 / / / /\ / / / / / / \ / / 12 23 35 49 52 80 90 Insert node 75: 62 /\ ------------------------------ ------------------------------ / \ 29 71 /\ /\ -------------- -------------- -------------- -------------- / \ / \ 11 41 66 88 /\ /\ /\ /\ ------ ------ ------ ------ ------ ------ ------ ------ / \ / \ / \ / \ 10 21 39 57 63 70 77 94 /\ /\ /\ \ /\ /\ -- -- -- -- -- -- -- -- -- -- -- / \ / \ / \ \ / \ / \ 20 27 37 40 51 60 64 76 82 91 96 / / / /\ / / / / / / / \ / / / 12 23 35 49 52 75 80 90 Insert node 28: 62 /\ ------------------------------ ------------------------------ / \ 29 71 /\ /\ -------------- -------------- -------------- -------------- / \ / \ 11 41 66 88 /\ /\ /\ /\ ------ ------ ------ ------ ------ ------ ------ ------ / \ / \ / \ / \ 10 21 39 57 63 70 77 94 /\ /\ /\ \ /\ /\ -- -- -- -- -- -- -- -- -- -- -- / \ / \ / \ \ / \ / \ 20 27 37 40 51 60 64 76 82 91 96 / /\ / /\ / / / / / \ / / \ / / / 12 23 28 35 49 52 75 80 90 ***** ***** COMPLETED BST TREE: ***** 62 /\ ------------------------------ ------------------------------ / \ 29 71 /\ /\ -------------- -------------- -------------- -------------- / \ / \ 11 41 66 88 /\ /\ /\ /\ ------ ------ ------ ------ ------ ------ ------ ------ / \ / \ / \ / \ 10 21 39 57 63 70 77 94 /\ /\ /\ \ /\ /\ -- -- -- -- -- -- -- -- -- -- -- / \ / \ / \ \ / \ / \ 20 27 37 40 51 60 64 76 82 91 96 / /\ / /\ / / / / / \ / / \ / / / 12 23 28 35 49 52 75 80 90 Delete root node 62: 63 /\ ------------------------------ ------------------------------ / \ 29 71 /\ /\ -------------- -------------- -------------- -------------- / \ / \ 11 41 66 88 /\ /\ /\ /\ ------ ------ ------ ------ ------ ------ ------ ------ / \ / \ / \ / \ 10 21 39 57 64 70 77 94 /\ /\ /\ /\ /\ -- -- -- -- -- -- -- -- -- -- / \ / \ / \ / \ / \ 20 27 37 40 51 60 76 82 91 96 / /\ / /\ / / / / / \ / / \ / / / 12 23 28 35 49 52 75 80 90 Delete root node 63: 64 /\ ------------------------------ ------------------------------ / \ 29 71 /\ /\ -------------- -------------- -------------- -------------- / \ / \ 11 41 66 88 /\ /\ \ /\ ------ ------ ------ ------ ------ ------ ------ / \ / \ \ / \ 10 21 39 57 70 77 94 /\ /\ /\ /\ /\ -- -- -- -- -- -- -- -- -- -- / \ / \ / \ / \ / \ 20 27 37 40 51 60 76 82 91 96 / /\ / /\ / / / / / \ / / \ / / / 12 23 28 35 49 52 75 80 90 Delete root node 64: 66 /\ ------------------------------ ------------------------------ / \ 29 71 /\ /\ -------------- -------------- -------------- -------------- / \ / \ 11 41 70 88 /\ /\ /\ ------ ------ ------ ------ ------ ------ / \ / \ / \ 10 21 39 57 77 94 /\ /\ /\ /\ /\ -- -- -- -- -- -- -- -- -- -- / \ / \ / \ / \ / \ 20 27 37 40 51 60 76 82 91 96 / /\ / /\ / / / / / \ / / \ / / / 12 23 28 35 49 52 75 80 90 Delete root node 66: 70 /\ ------------------------------ ------------------------------ / \ 29 71 /\ \ -------------- -------------- -------------- / \ \ 11 41 88 /\ /\ /\ ------ ------ ------ ------ ------ ------ / \ / \ / \ 10 21 39 57 77 94 /\ /\ /\ /\ /\ -- -- -- -- -- -- -- -- -- -- / \ / \ / \ / \ / \ 20 27 37 40 51 60 76 82 91 96 / /\ / /\ / / / / / \ / / \ / / / 12 23 28 35 49 52 75 80 90 Delete root node 70: 71 /\ ------------------------------ ------------------------------ / \ 29 88 /\ /\ -------------- -------------- -------------- -------------- / \ / \ 11 41 77 94 /\ /\ /\ /\ ------ ------ ------ ------ ------ ------ ------ ------ / \ / \ / \ / \ 10 21 39 57 76 82 91 96 /\ /\ /\ / / / -- -- -- -- -- -- -- -- -- / \ / \ / \ / / / 20 27 37 40 51 60 75 80 90 / /\ / /\ / / \ / / \ 12 23 28 35 49 52 Delete root node 71: 75 /\ ------------------------------ ------------------------------ / \ 29 88 /\ /\ -------------- -------------- -------------- -------------- / \ / \ 11 41 77 94 /\ /\ /\ /\ ------ ------ ------ ------ ------ ------ ------ ------ / \ / \ / \ / \ 10 21 39 57 76 82 91 96 /\ /\ /\ / / -- -- -- -- -- -- -- -- / \ / \ / \ / / 20 27 37 40 51 60 80 90 / /\ / /\ / / \ / / \ 12 23 28 35 49 52 Delete root node 75: 76 /\ ------------------------------ ------------------------------ / \ 29 88 /\ /\ -------------- -------------- -------------- -------------- / \ / \ 11 41 77 94 /\ /\ \ /\ ------ ------ ------ ------ ------ ------ ------ / \ / \ \ / \ 10 21 39 57 82 91 96 /\ /\ /\ / / -- -- -- -- -- -- -- -- / \ / \ / \ / / 20 27 37 40 51 60 80 90 / /\ / /\ / / \ / / \ 12 23 28 35 49 52 Delete root node 76: 77 /\ ------------------------------ ------------------------------ / \ 29 88 /\ /\ -------------- -------------- -------------- -------------- / \ / \ 11 41 82 94 /\ /\ / /\ ------ ------ ------ ------ ------ ------ ------ / \ / \ / / \ 10 21 39 57 80 91 96 /\ /\ /\ / -- -- -- -- -- -- -- / \ / \ / \ / 20 27 37 40 51 60 90 / /\ / /\ / / \ / / \ 12 23 28 35 49 52 Delete root node 77: 80 /\ ------------------------------ ------------------------------ / \ 29 88 /\ /\ -------------- -------------- -------------- -------------- / \ / \ 11 41 82 94 /\ /\ /\ ------ ------ ------ ------ ------ ------ / \ / \ / \ 10 21 39 57 91 96 /\ /\ /\ / -- -- -- -- -- -- -- / \ / \ / \ / 20 27 37 40 51 60 90 / /\ / /\ / / \ / / \ 12 23 28 35 49 52 Delete root node 80: 82 /\ ------------------------------ ------------------------------ / \ 29 88 /\ \ -------------- -------------- -------------- / \ \ 11 41 94 /\ /\ /\ ------ ------ ------ ------ ------ ------ / \ / \ / \ 10 21 39 57 91 96 /\ /\ /\ / -- -- -- -- -- -- -- / \ / \ / \ / 20 27 37 40 51 60 90 / /\ / /\ / / \ / / \ 12 23 28 35 49 52 Delete root node 82: 88 /\ ------------------------------ ------------------------------ / \ 29 94 /\ /\ -------------- -------------- -------------- -------------- / \ / \ 11 41 91 96 /\ /\ / ------ ------ ------ ------ ------ / \ / \ / 10 21 39 57 90 /\ /\ /\ -- -- -- -- -- -- / \ / \ / \ 20 27 37 40 51 60 / /\ / /\ / / \ / / \ 12 23 28 35 49 52 Delete root node 88: 90 /\ ------------------------------ ------------------------------ / \ 29 94 /\ /\ -------------- -------------- -------------- -------------- / \ / \ 11 41 91 96 /\ /\ ------ ------ ------ ------ / \ / \ 10 21 39 57 /\ /\ /\ -- -- -- -- -- -- / \ / \ / \ 20 27 37 40 51 60 / /\ / /\ / / \ / / \ 12 23 28 35 49 52 Delete root node 90: 91 /\ ------------------------------ ------------------------------ / \ 29 94 /\ \ -------------- -------------- -------------- / \ \ 11 41 96 /\ /\ ------ ------ ------ ------ / \ / \ 10 21 39 57 /\ /\ /\ -- -- -- -- -- -- / \ / \ / \ 20 27 37 40 51 60 / /\ / /\ / / \ / / \ 12 23 28 35 49 52 Delete root node 91: 94 /\ ------------------------------ ------------------------------ / \ 29 96 /\ -------------- -------------- / \ 11 41 /\ /\ ------ ------ ------ ------ / \ / \ 10 21 39 57 /\ /\ /\ -- -- -- -- -- -- / \ / \ / \ 20 27 37 40 51 60 / /\ / /\ / / \ / / \ 12 23 28 35 49 52 Delete root node 94: 96 / ------------------------------ / 29 /\ -------------- -------------- / \ 11 41 /\ /\ ------ ------ ------ ------ / \ / \ 10 21 39 57 /\ /\ /\ -- -- -- -- -- -- / \ / \ / \ 20 27 37 40 51 60 / /\ / /\ / / \ / / \ 12 23 28 35 49 52 Delete root node 96: 29 /\ -------------- -------------- / \ 11 41 /\ /\ ------ ------ ------ ------ / \ / \ 10 21 39 57 /\ /\ /\ -- -- -- -- -- -- / \ / \ / \ 20 27 37 40 51 60 / /\ / /\ / / \ / / \ 12 23 28 35 49 52 Delete root node 29: 35 /\ -------------- -------------- / \ 11 41 /\ /\ ------ ------ ------ ------ / \ / \ 10 21 39 57 /\ /\ /\ -- -- -- -- -- -- / \ / \ / \ 20 27 37 40 51 60 / /\ /\ / / \ / \ 12 23 28 49 52 Delete root node 35: 37 /\ -------------- -------------- / \ 11 41 /\ /\ ------ ------ ------ ------ / \ / \ 10 21 39 57 /\ \ /\ -- -- -- -- -- / \ \ / \ 20 27 40 51 60 / /\ /\ / / \ / \ 12 23 28 49 52 Delete root node 37: 39 /\ -------------- -------------- / \ 11 41 /\ /\ ------ ------ ------ ------ / \ / \ 10 21 40 57 /\ /\ -- -- -- -- / \ / \ 20 27 51 60 / /\ /\ / / \ / \ 12 23 28 49 52 Delete root node 39: 40 /\ -------------- -------------- / \ 11 41 /\ \ ------ ------ ------ / \ \ 10 21 57 /\ /\ -- -- -- -- / \ / \ 20 27 51 60 / /\ /\ / / \ / \ 12 23 28 49 52 Delete root node 40: 41 /\ -------------- -------------- / \ 11 57 /\ /\ ------ ------ ------ ------ / \ / \ 10 21 51 60 /\ /\ -- -- -- -- / \ / \ 20 27 49 52 / /\ / / \ 12 23 28 Delete root node 41: 49 /\ -------------- -------------- / \ 11 57 /\ /\ ------ ------ ------ ------ / \ / \ 10 21 51 60 /\ \ -- -- -- / \ \ 20 27 52 / /\ / / \ 12 23 28 Delete root node 49: 51 /\ -------------- -------------- / \ 11 57 /\ /\ ------ ------ ------ ------ / \ / \ 10 21 52 60 /\ -- -- / \ 20 27 / /\ / / \ 12 23 28 Delete root node 51: 52 /\ -------------- -------------- / \ 11 57 /\ \ ------ ------ ------ / \ \ 10 21 60 /\ -- -- / \ 20 27 / /\ / / \ 12 23 28 Delete root node 52: 57 /\ -------------- -------------- / \ 11 60 /\ ------ ------ / \ 10 21 /\ -- -- / \ 20 27 / /\ / / \ 12 23 28 Delete root node 57: 60 / -------------- / 11 /\ ------ ------ / \ 10 21 /\ -- -- / \ 20 27 / /\ / / \ 12 23 28 Delete root node 60: 11 /\ ------ ------ / \ 10 21 /\ -- -- / \ 20 27 / /\ / / \ 12 23 28 Delete root node 11: 12 /\ ------ ------ / \ 10 21 /\ -- -- / \ 20 27 /\ / \ 23 28 Delete root node 12: 20 /\ ------ ------ / \ 10 21 \ -- \ 27 /\ / \ 23 28 Delete root node 20: 21 /\ -- -- / \ 10 27 /\ / \ 23 28 Delete root node 21: 23 /\ -- -- / \ 10 27 \ \ 28 Delete root node 23: 27 /\ / \ 10 28 Delete root node 27: 28 / / 10 Delete root node 28: 10 Delete root node 10: ***** ***** THE BST TREE IS NOW EMPTY. ***** ************ * AVL TREE * ************ Insert node 62: 62 Insert node 71: 62 \ \ 71 Insert node 29: 62 /\ / \ 29 71 Insert node 88: 62 /\ -- -- / \ 29 71 \ \ 88 Insert node 11: 62 /\ -- -- / \ 29 71 / \ / \ 11 88 Insert node 41: 62 /\ -- -- / \ 29 71 /\ \ / \ \ 11 41 88 Insert node 21: 62 /\ ------ ------ / \ 29 71 /\ \ -- -- -- / \ \ 11 41 88 \ \ 21 Insert node 66: 62 /\ ------ ------ / \ 29 71 /\ /\ -- -- -- -- / \ / \ 11 41 66 88 \ \ 21 Insert node 57: 62 /\ ------ ------ / \ 29 71 /\ /\ -- -- -- -- / \ / \ 11 41 66 88 \ \ \ \ 21 57 Insert node 27: --- Single left rotation at node 21 62 /\ ------ ------ / \ 29 71 /\ /\ -- -- -- -- / \ / \ 21 41 66 88 /\ \ / \ \ 11 27 57 Insert node 39: 62 /\ ------ ------ / \ 29 71 /\ /\ -- -- -- -- / \ / \ 21 41 66 88 /\ /\ / \ / \ 11 27 39 57 Insert node 40: --- Double left-right rotation at node 41 41 /\ ------ ------ / \ 29 62 /\ /\ -- -- -- -- / \ / \ 21 39 57 71 /\ \ /\ / \ \ / \ 11 27 40 66 88 Insert node 77: --- Single left rotation at node 71 41 /\ ------ ------ / \ 29 71 /\ /\ -- -- -- -- / \ / \ 21 39 62 88 /\ \ /\ / / \ \ / \ / 11 27 40 57 66 77 Insert node 20: 41 /\ -------------- -------------- / \ 29 71 /\ /\ ------ ------ ------ ------ / \ / \ 21 39 62 88 /\ \ /\ / -- -- -- -- -- -- / \ \ / \ / 11 27 40 57 66 77 \ \ 20 Insert node 51: 41 /\ -------------- -------------- / \ 29 71 /\ /\ ------ ------ ------ ------ / \ / \ 21 39 62 88 /\ \ /\ / -- -- -- -- -- -- / \ \ / \ / 11 27 40 57 66 77 \ / \ / 20 51 Insert node 49: --- Single right rotation at node 51 41 /\ -------------- -------------- / \ 29 71 /\ /\ ------ ------ ------ ------ / \ / \ 21 39 62 88 /\ \ /\ / -- -- -- -- -- -- / \ \ / \ / 11 27 40 51 66 77 \ /\ \ / \ 20 49 57 Insert node 82: --- Double left-right rotation at node 82 41 /\ -------------- -------------- / \ 29 71 /\ /\ ------ ------ ------ ------ / \ / \ 21 39 62 82 /\ \ /\ /\ -- -- -- -- -- -- -- / \ \ / \ / \ 11 27 40 51 66 77 88 \ /\ \ / \ 20 49 57 Insert node 37: 41 /\ -------------- -------------- / \ 29 71 /\ /\ ------ ------ ------ ------ / \ / \ 21 39 62 82 /\ /\ /\ /\ -- -- -- -- -- -- -- -- / \ / \ / \ / \ 11 27 37 40 51 66 77 88 \ /\ \ / \ 20 49 57 Insert node 94: 41 /\ -------------- -------------- / \ 29 71 /\ /\ ------ ------ ------ ------ / \ / \ 21 39 62 82 /\ /\ /\ /\ -- -- -- -- -- -- -- -- / \ / \ / \ / \ 11 27 37 40 51 66 77 88 \ /\ \ \ / \ \ 20 49 57 94 Insert node 63: 41 /\ -------------- -------------- / \ 29 71 /\ /\ ------ ------ ------ ------ / \ / \ 21 39 62 82 /\ /\ /\ /\ -- -- -- -- -- -- -- -- / \ / \ / \ / \ 11 27 37 40 51 66 77 88 \ /\ / \ \ / \ / \ 20 49 57 63 94 Insert node 76: 41 /\ -------------- -------------- / \ 29 71 /\ /\ ------ ------ ------ ------ / \ / \ 21 39 62 82 /\ /\ /\ /\ -- -- -- -- -- -- -- -- / \ / \ / \ / \ 11 27 37 40 51 66 77 88 \ /\ / / \ \ / \ / / \ 20 49 57 63 76 94 Insert node 91: --- Double right-left rotation at node 91 41 /\ -------------- -------------- / \ 29 71 /\ /\ ------ ------ ------ ------ / \ / \ 21 39 62 82 /\ /\ /\ /\ -- -- -- -- -- -- -- -- / \ / \ / \ / \ 11 27 37 40 51 66 77 91 \ /\ / / /\ \ / \ / / / \ 20 49 57 63 76 88 94 Insert node 70: 41 /\ -------------- -------------- / \ 29 71 /\ /\ ------ ------ ------ ------ / \ / \ 21 39 62 82 /\ /\ /\ /\ -- -- -- -- -- -- -- -- / \ / \ / \ / \ 11 27 37 40 51 66 77 91 \ /\ /\ / /\ \ / \ / \ / / \ 20 49 57 63 70 76 88 94 Insert node 64: 41 /\ ------------------------------ ------------------------------ / \ 29 71 /\ /\ -------------- -------------- -------------- -------------- / \ / \ 21 39 62 82 /\ /\ /\ /\ ------ ------ ------ ------ ------ ------ ------ ------ / \ / \ / \ / \ 11 27 37 40 51 66 77 91 \ /\ /\ / /\ -- -- -- -- -- -- -- -- \ / \ / \ / / \ 20 49 57 63 70 76 88 94 \ \ 64 Insert node 60: 41 /\ ------------------------------ ------------------------------ / \ 29 71 /\ /\ -------------- -------------- -------------- -------------- / \ / \ 21 39 62 82 /\ /\ /\ /\ ------ ------ ------ ------ ------ ------ ------ ------ / \ / \ / \ / \ 11 27 37 40 51 66 77 91 \ /\ /\ / /\ -- -- -- -- -- -- -- -- \ / \ / \ / / \ 20 49 57 63 70 76 88 94 \ \ \ \ 60 64 Insert node 90: 41 /\ ------------------------------ ------------------------------ / \ 29 71 /\ /\ -------------- -------------- -------------- -------------- / \ / \ 21 39 62 82 /\ /\ /\ /\ ------ ------ ------ ------ ------ ------ ------ ------ / \ / \ / \ / \ 11 27 37 40 51 66 77 91 \ /\ /\ / /\ -- -- -- -- -- -- -- -- \ / \ / \ / / \ 20 49 57 63 70 76 88 94 \ \ \ \ \ \ 60 64 90 Insert node 12: --- Double right-left rotation at node 12 41 /\ ------------------------------ ------------------------------ / \ 29 71 /\ /\ -------------- -------------- -------------- -------------- / \ / \ 21 39 62 82 /\ /\ /\ /\ ------ ------ ------ ------ ------ ------ ------ ------ / \ / \ / \ / \ 12 27 37 40 51 66 77 91 /\ /\ /\ / /\ -- -- -- -- -- -- -- -- -- / \ / \ / \ / / \ 11 20 49 57 63 70 76 88 94 \ \ \ \ \ \ 60 64 90 Insert node 80: 41 /\ ------------------------------ ------------------------------ / \ 29 71 /\ /\ -------------- -------------- -------------- -------------- / \ / \ 21 39 62 82 /\ /\ /\ /\ ------ ------ ------ ------ ------ ------ ------ ------ / \ / \ / \ / \ 12 27 37 40 51 66 77 91 /\ /\ /\ /\ /\ -- -- -- -- -- -- -- -- -- -- / \ / \ / \ / \ / \ 11 20 49 57 63 70 76 80 88 94 \ \ \ \ \ \ 60 64 90 Insert node 23: 41 /\ ------------------------------ ------------------------------ / \ 29 71 /\ /\ -------------- -------------- -------------- -------------- / \ / \ 21 39 62 82 /\ /\ /\ /\ ------ ------ ------ ------ ------ ------ ------ ------ / \ / \ / \ / \ 12 27 37 40 51 66 77 91 /\ / /\ /\ /\ /\ -- -- -- -- -- -- -- -- -- -- -- / \ / / \ / \ / \ / \ 11 20 23 49 57 63 70 76 80 88 94 \ \ \ \ \ \ 60 64 90 Insert node 10: --- Single right rotation at node 21 41 /\ ------------------------------ ------------------------------ / \ 21 71 /\ /\ -------------- -------------- -------------- -------------- / \ / \ 12 29 62 82 /\ /\ /\ /\ ------ ------ ------ ------ ------ ------ ------ ------ / \ / \ / \ / \ 11 20 27 39 51 66 77 91 / / /\ /\ /\ /\ /\ -- -- -- -- -- -- -- -- -- -- -- -- / / / \ / \ / \ / \ / \ 10 23 37 40 49 57 63 70 76 80 88 94 \ \ \ \ \ \ 60 64 90 Insert node 52: 41 /\ ------------------------------ ------------------------------ / \ 21 71 /\ /\ -------------- -------------- -------------- -------------- / \ / \ 12 29 62 82 /\ /\ /\ /\ ------ ------ ------ ------ ------ ------ ------ ------ / \ / \ / \ / \ 11 20 27 39 51 66 77 91 / / /\ /\ /\ /\ /\ -- -- -- -- -- -- -- -- -- -- -- -- / / / \ / \ / \ / \ / \ 10 23 37 40 49 57 63 70 76 80 88 94 /\ \ \ / \ \ \ 52 60 64 90 Insert node 35: 41 /\ ------------------------------ ------------------------------ / \ 21 71 /\ /\ -------------- -------------- -------------- -------------- / \ / \ 12 29 62 82 /\ /\ /\ /\ ------ ------ ------ ------ ------ ------ ------ ------ / \ / \ / \ / \ 11 20 27 39 51 66 77 91 / / /\ /\ /\ /\ /\ -- -- -- -- -- -- -- -- -- -- -- -- / / / \ / \ / \ / \ / \ 10 23 37 40 49 57 63 70 76 80 88 94 / /\ \ \ / / \ \ \ 35 52 60 64 90 Insert node 96: 41 /\ ------------------------------ ------------------------------ / \ 21 71 /\ /\ -------------- -------------- -------------- -------------- / \ / \ 12 29 62 82 /\ /\ /\ /\ ------ ------ ------ ------ ------ ------ ------ ------ / \ / \ / \ / \ 11 20 27 39 51 66 77 91 / / /\ /\ /\ /\ /\ -- -- -- -- -- -- -- -- -- -- -- -- / / / \ / \ / \ / \ / \ 10 23 37 40 49 57 63 70 76 80 88 94 / /\ \ \ \ / / \ \ \ \ 35 52 60 64 90 96 Insert node 75: 41 /\ ------------------------------ ------------------------------ / \ 21 71 /\ /\ -------------- -------------- -------------- -------------- / \ / \ 12 29 62 82 /\ /\ /\ /\ ------ ------ ------ ------ ------ ------ ------ ------ / \ / \ / \ / \ 11 20 27 39 51 66 77 91 / / /\ /\ /\ /\ /\ -- -- -- -- -- -- -- -- -- -- -- -- / / / \ / \ / \ / \ / \ 10 23 37 40 49 57 63 70 76 80 88 94 / /\ \ / \ \ / / \ \ / \ \ 35 52 60 64 75 90 96 Insert node 28: 41 /\ ------------------------------ ------------------------------ / \ 21 71 /\ /\ -------------- -------------- -------------- -------------- / \ / \ 12 29 62 82 /\ /\ /\ /\ ------ ------ ------ ------ ------ ------ ------ ------ / \ / \ / \ / \ 11 20 27 39 51 66 77 91 / /\ /\ /\ /\ /\ /\ -- -- -- -- -- -- -- -- -- -- -- -- -- / / \ / \ / \ / \ / \ / \ 10 23 28 37 40 49 57 63 70 76 80 88 94 / /\ \ / \ \ / / \ \ / \ \ 35 52 60 64 75 90 96 ***** ***** COMPLETED AVL TREE: ***** 41 /\ ------------------------------ ------------------------------ / \ 21 71 /\ /\ -------------- -------------- -------------- -------------- / \ / \ 12 29 62 82 /\ /\ /\ /\ ------ ------ ------ ------ ------ ------ ------ ------ / \ / \ / \ / \ 11 20 27 39 51 66 77 91 / /\ /\ /\ /\ /\ /\ -- -- -- -- -- -- -- -- -- -- -- -- -- / / \ / \ / \ / \ / \ / \ 10 23 28 37 40 49 57 63 70 76 80 88 94 / /\ \ / \ \ / / \ \ / \ \ 35 52 60 64 75 90 96 Delete root node 41: --- Single left rotation at node 57 49 /\ ------------------------------ ------------------------------ / \ 21 71 /\ /\ -------------- -------------- -------------- -------------- / \ / \ 12 29 62 82 /\ /\ /\ /\ ------ ------ ------ ------ ------ ------ ------ ------ / \ / \ / \ / \ 11 20 27 39 57 66 77 91 / /\ /\ /\ /\ /\ /\ -- -- -- -- -- -- -- -- -- -- -- -- -- / / \ / \ / \ / \ / \ / \ 10 23 28 37 40 51 60 63 70 76 80 88 94 / \ \ / \ \ / \ \ / \ \ 35 52 64 75 90 96 Delete root node 49: 51 /\ ------------------------------ ------------------------------ / \ 21 71 /\ /\ -------------- -------------- -------------- -------------- / \ / \ 12 29 62 82 /\ /\ /\ /\ ------ ------ ------ ------ ------ ------ ------ ------ / \ / \ / \ / \ 11 20 27 39 57 66 77 91 / /\ /\ /\ /\ /\ /\ -- -- -- -- -- -- -- -- -- -- -- -- -- / / \ / \ / \ / \ / \ / \ 10 23 28 37 40 52 60 63 70 76 80 88 94 / \ / \ \ / \ / \ \ 35 64 75 90 96 Delete root node 51: 52 /\ ------------------------------ ------------------------------ / \ 21 71 /\ /\ -------------- -------------- -------------- -------------- / \ / \ 12 29 62 82 /\ /\ /\ /\ ------ ------ ------ ------ ------ ------ ------ ------ / \ / \ / \ / \ 11 20 27 39 57 66 77 91 / /\ /\ \ /\ /\ /\ -- -- -- -- -- -- -- -- -- -- -- -- / / \ / \ \ / \ / \ / \ 10 23 28 37 40 60 63 70 76 80 88 94 / \ / \ \ / \ / \ \ 35 64 75 90 96 Delete root node 52: --- Double right-left rotation at node 63 57 /\ ------------------------------ ------------------------------ / \ 21 71 /\ /\ -------------- -------------- -------------- -------------- / \ / \ 12 29 63 82 /\ /\ /\ /\ ------ ------ ------ ------ ------ ------ ------ ------ / \ / \ / \ / \ 11 20 27 39 62 66 77 91 / /\ /\ / /\ /\ /\ -- -- -- -- -- -- -- -- -- -- -- -- / / \ / \ / / \ / \ / \ 10 23 28 37 40 60 64 70 76 80 88 94 / / \ \ / / \ \ 35 75 90 96 Delete root node 57: 60 /\ ------------------------------ ------------------------------ / \ 21 71 /\ /\ -------------- -------------- -------------- -------------- / \ / \ 12 29 63 82 /\ /\ /\ /\ ------ ------ ------ ------ ------ ------ ------ ------ / \ / \ / \ / \ 11 20 27 39 62 66 77 91 / /\ /\ /\ /\ /\ -- -- -- -- -- -- -- -- -- -- -- / / \ / \ / \ / \ / \ 10 23 28 37 40 64 70 76 80 88 94 / / \ \ / / \ \ 35 75 90 96 Delete root node 60: --- Single left rotation at node 66 62 /\ ------------------------------ ------------------------------ / \ 21 71 /\ /\ -------------- -------------- -------------- -------------- / \ / \ 12 29 66 82 /\ /\ /\ /\ ------ ------ ------ ------ ------ ------ ------ ------ / \ / \ / \ / \ 11 20 27 39 63 70 77 91 / /\ /\ \ /\ /\ -- -- -- -- -- -- -- -- -- -- / / \ / \ \ / \ / \ 10 23 28 37 40 64 76 80 88 94 / / \ \ / / \ \ 35 75 90 96 Delete root node 62: --- Single left rotation at node 82 63 /\ ------------------------------ ------------------------------ / \ 21 82 /\ /\ -------------- -------------- -------------- -------------- / \ / \ 12 29 71 91 /\ /\ /\ /\ ------ ------ ------ ------ ------ ------ ------ ------ / \ / \ / \ / \ 11 20 27 39 66 77 88 94 / /\ /\ /\ /\ \ \ -- -- -- -- -- -- -- -- -- -- -- / / \ / \ / \ / \ \ \ 10 23 28 37 40 64 70 76 80 90 96 / / / / 35 75 Delete root node 63: 64 /\ ------------------------------ ------------------------------ / \ 21 82 /\ /\ -------------- -------------- -------------- -------------- / \ / \ 12 29 71 91 /\ /\ /\ /\ ------ ------ ------ ------ ------ ------ ------ ------ / \ / \ / \ / \ 11 20 27 39 66 77 88 94 / /\ /\ \ /\ \ \ -- -- -- -- -- -- -- -- -- -- / / \ / \ \ / \ \ \ 10 23 28 37 40 70 76 80 90 96 / / / / 35 75 Delete root node 64: --- Double right-left rotation at node 76 66 /\ ------------------------------ ------------------------------ / \ 21 82 /\ /\ -------------- -------------- -------------- -------------- / \ / \ 12 29 76 91 /\ /\ /\ /\ ------ ------ ------ ------ ------ ------ ------ ------ / \ / \ / \ / \ 11 20 27 39 71 77 88 94 / /\ /\ /\ \ \ \ -- -- -- -- -- -- -- -- -- -- / / \ / \ / \ \ \ \ 10 23 28 37 40 70 75 80 90 96 / / 35 Delete root node 66: 70 /\ ------------------------------ ------------------------------ / \ 21 82 /\ /\ -------------- -------------- -------------- -------------- / \ / \ 12 29 76 91 /\ /\ /\ /\ ------ ------ ------ ------ ------ ------ ------ ------ / \ / \ / \ / \ 11 20 27 39 71 77 88 94 / /\ /\ \ \ \ \ -- -- -- -- -- -- -- -- -- / / \ / \ \ \ \ \ 10 23 28 37 40 75 80 90 96 / / 35 Delete root node 70: 71 /\ ------------------------------ ------------------------------ / \ 21 82 /\ /\ -------------- -------------- -------------- -------------- / \ / \ 12 29 76 91 /\ /\ /\ /\ ------ ------ ------ ------ ------ ------ ------ ------ / \ / \ / \ / \ 11 20 27 39 75 77 88 94 / /\ /\ \ \ \ -- -- -- -- -- -- -- -- / / \ / \ \ \ \ 10 23 28 37 40 80 90 96 / / 35 Delete root node 71: --- Single left rotation at node 77 75 /\ ------------------------------ ------------------------------ / \ 21 82 /\ /\ -------------- -------------- -------------- -------------- / \ / \ 12 29 77 91 /\ /\ /\ /\ ------ ------ ------ ------ ------ ------ ------ ------ / \ / \ / \ / \ 11 20 27 39 76 80 88 94 / /\ /\ \ \ -- -- -- -- -- -- -- / / \ / \ \ \ 10 23 28 37 40 90 96 / / 35 Delete root node 75: 76 /\ ------------------------------ ------------------------------ / \ 21 82 /\ /\ -------------- -------------- -------------- -------------- / \ / \ 12 29 77 91 /\ /\ \ /\ ------ ------ ------ ------ ------ ------ ------ / \ / \ \ / \ 11 20 27 39 80 88 94 / /\ /\ \ \ -- -- -- -- -- -- -- / / \ / \ \ \ 10 23 28 37 40 90 96 / / 35 Delete root node 76: --- Single left rotation at node 91 77 /\ ------------------------------ ------------------------------ / \ 21 91 /\ /\ -------------- -------------- -------------- -------------- / \ / \ 12 29 82 94 /\ /\ /\ \ ------ ------ ------ ------ ------ ------ ------ / \ / \ / \ \ 11 20 27 39 80 88 96 / /\ /\ \ -- -- -- -- -- -- / / \ / \ \ 10 23 28 37 40 90 / / 35 Delete root node 77: --- Single left rotation at node 88 --- Double left-right rotation at node 29 29 /\ -------------- -------------- / \ 21 80 /\ /\ ------ ------ ------ ------ / \ / \ 12 27 39 91 /\ /\ /\ /\ -- -- -- -- -- -- -- -- / \ / \ / \ / \ 11 20 23 28 37 40 88 94 / / /\ \ / / / \ \ 10 35 82 90 96 Delete root node 29: 35 /\ -------------- -------------- / \ 21 80 /\ /\ ------ ------ ------ ------ / \ / \ 12 27 39 91 /\ /\ /\ /\ -- -- -- -- -- -- -- -- / \ / \ / \ / \ 11 20 23 28 37 40 88 94 / /\ \ / / \ \ 10 82 90 96 Delete root node 35: 37 /\ -------------- -------------- / \ 21 80 /\ /\ ------ ------ ------ ------ / \ / \ 12 27 39 91 /\ /\ \ /\ -- -- -- -- -- -- -- / \ / \ \ / \ 11 20 23 28 40 88 94 / /\ \ / / \ \ 10 82 90 96 Delete root node 37: --- Single left rotation at node 91 39 /\ -------------- -------------- / \ 21 91 /\ /\ ------ ------ ------ ------ / \ / \ 12 27 80 94 /\ /\ /\ \ -- -- -- -- -- -- -- / \ / \ / \ \ 11 20 23 28 40 88 96 / /\ / / \ 10 82 90 Delete root node 39: --- Single left rotation at node 88 40 /\ -------------- -------------- / \ 21 91 /\ /\ ------ ------ ------ ------ / \ / \ 12 27 88 94 /\ /\ /\ \ -- -- -- -- -- -- -- / \ / \ / \ \ 11 20 23 28 80 90 96 / \ / \ 10 82 Delete root node 40: 80 /\ -------------- -------------- / \ 21 91 /\ /\ ------ ------ ------ ------ / \ / \ 12 27 88 94 /\ /\ /\ \ -- -- -- -- -- -- -- / \ / \ / \ \ 11 20 23 28 82 90 96 / / 10 Delete root node 80: 82 /\ -------------- -------------- / \ 21 91 /\ /\ ------ ------ ------ ------ / \ / \ 12 27 88 94 /\ /\ \ \ -- -- -- -- -- -- / \ / \ \ \ 11 20 23 28 90 96 / / 10 Delete root node 82: 88 /\ -------------- -------------- / \ 21 91 /\ /\ ------ ------ ------ ------ / \ / \ 12 27 90 94 /\ /\ \ -- -- -- -- -- / \ / \ \ 11 20 23 28 96 / / 10 Delete root node 88: --- Single left rotation at node 94 --- Single right rotation at node 21 21 /\ ------ ------ / \ 12 90 /\ /\ -- -- -- -- / \ / \ 11 20 27 94 / /\ /\ / / \ / \ 10 23 28 91 96 Delete root node 21: 23 /\ ------ ------ / \ 12 90 /\ /\ -- -- -- -- / \ / \ 11 20 27 94 / \ /\ / \ / \ 10 28 91 96 Delete root node 23: 27 /\ ------ ------ / \ 12 90 /\ /\ -- -- -- -- / \ / \ 11 20 28 94 / /\ / / \ 10 91 96 Delete root node 27: --- Single left rotation at node 94 28 /\ ------ ------ / \ 12 94 /\ /\ -- -- -- -- / \ / \ 11 20 90 96 / \ / \ 10 91 Delete root node 28: 90 /\ ------ ------ / \ 12 94 /\ /\ -- -- -- -- / \ / \ 11 20 91 96 / / 10 Delete root node 90: 91 /\ ------ ------ / \ 12 94 /\ \ -- -- -- / \ \ 11 20 96 / / 10 Delete root node 91: --- Single right rotation at node 12 12 /\ -- -- / \ 11 94 / /\ / / \ 10 20 96 Delete root node 12: 20 /\ -- -- / \ 11 94 / \ / \ 10 96 Delete root node 20: 94 /\ -- -- / \ 11 96 / / 10 Delete root node 94: --- Single right rotation at node 11 11 /\ / \ 10 96 Delete root node 11: 96 / / 10 Delete root node 96: 10 Delete root node 10: ***** ***** THE AVL TREE IS NOW EMPTY. *****