Professional Documents
Culture Documents
2-3 Trees
2-3 Trees
2-3 Trees
An initially empty 2-3 tree after adding (a) 60 and (b) 50; (c), (d) adding
20 causes the 3-node to split
Inserting Items
The 2-3 tree after adding (a) 80; (b) 90; (c) 70
Inserting Items
divide leaf
insert in leaf and move middle result
value up to parent
Inserting Items
Insert 37
Inserting Items
Insert 36
divide leaf
insert in leaf and move middle
value up to parent
overcrowded
node
Inserting Items
... still inserting 36
20 80
5 30 70 90 100
2 4 10 15 23 25 40 50 75 85 95 110 120
Deletion Algorithm I
Deleting item I:
Merging
No sibling has 2 items:
merge node
move item from
parent
to sibling
Deletion Algorithm III
Redistribution
Internal node n has no
item left
redistribute
Merging
Redistribution not
possible:
merge node
move item from
parent
to sibling
adopt child of n
70
80
Deleting Items
Deleting 70: swap 70 with inorder successor (80)
Deleting Items
Deleting 70: ... get rid of 70
Deleting Items
Result
Deleting Items
Delete 100
Deleting Items
Deleting 100
Deleting Items
Result
Deleting Items
Delete 80
Deleting Items
Deleting 80 ...
Deleting Items
Deleting 80 ...
Deleting Items
Deleting 80 ...
Deleting Items
Final Result
comparison with
binary search tree
Remove(80)
Step 1: Exchange 80 with in-order successor.
45
20
85
3 5 30 70 90 100
2 4 10 25 40 50 75 80 95 110 120
Remove(80);
Redistribute
45
20
85
3 5 30 70 95 110
2 4 10 25 40 50 75 90 100 120
Deletion Excercise
Delete 80 , 70 and 75 from following tree
45
20
80
3 5 30 70 90 100
2 4 10 25 40 50 75 85 95 110 120
Operations of 2-3 Trees