1. A multi-way search tree allows nodes to have up to m children, where keys in each node are ordered and divide the search space.
2. B-trees are a generalization of binary search trees where all leaves are at the same depth and internal nodes have at least m/2 children.
3. Searching and inserting keys in a B-tree starts at the root and proceeds by comparing keys to guide traversal to the appropriate child node. Insertion may require splitting full nodes to balance the tree.
2. Multi way search tree
A multiway search tree of order m is a search tree in which any node
can have at the most m children. The properties of a non-empty m way
search tree of order m are
1. Each node can hold maximum m-1 keys and can have maximum m
children.
2. A node with n children has n-1 key values i.e the number of key
values is one less than the number of children. Some of the children
can be NULL(empty subtree)
3. The keys in a node are in ascending order.
4. Keys in non-leaf node will divide the left and right subtrees where
values of left subtree keys will be less and value of right subtree keys
will be more than that particular key.
SHEETALWAGHMARE FROM IIT KHARAGPUR
3. Example
C1 K1 C2 K2 C3 K3 C4 K4 C5 K5 C6 K6 C7 K7 C8
1. This node has the capacity to hold 7 keys and 8 children.
2. K1 < K2 < K3 < K4 < K5 < K6 < K7
3. The key K1 is greater then all the keys in subtree pointed to by C1 and
less than all the keys in subtree pointed to by pointer C2. Similarly this
relation holds true for other keys also.
4. Keys(C1) < K1< Keys(C2) < K2 < Keys(C3) < K3 < Keys(C4)< K4 ….
Consider a node of m-way search tree of order 8
SHEETALWAGHMARE FROM IIT KHARAGPUR
4. Note:
From the definition of m-way search trees, we can say
that m-way search trees are generalized form of Binary
Search Trees and a Binary search tree can be considered as
an m-way search tree of order 2.
SHEETALWAGHMARE FROM IIT KHARAGPUR
5. B-Tree
A B-tree of order m can be defined as an m-way search tree which is either
empty or satisfies the following properties:-
1. All leaf nodes are at the same level.
2. All non-leaf nodes (except root node) should have atleast m/2 children.
3. All nodes (except root node) should have atleast [(m/2) – 1] keys.
4. If the root node is a leaf node, then it will have atleast one key. If the
root node is a non-leaf node, then it will have atleast 2 children and
atleast one key.
5. A non-leaf node with n-1 keys values should have n non NULL children.
B-Tree is also known as Height Balanced m-way search tree
SHEETALWAGHMARE FROM IIT KHARAGPUR
6. Example
B-tree of order 5
30 70
76 888 25 40 50
11 19 27 29 32 37 43 49 77 85 89 9756 67
71 73 75
1 3 5 7
SHEETALWAGHMARE FROM IIT KHARAGPUR
7. Searching in B-tree
30 70
76 888 25 40 50
11 19 27 29 32 37 43 49 77 85 89 9756 67
71 73 75
1 3 5 7
Suppose we want to search for 19. Searching will start from the root node
so first look at node [30 70] , the key is not there & since 19<30 , we move
to leftmost child of root which is [8 25]. The key is not present in this node
also 19 lies between 8 and 25 so we move to node [11 19] where we get the
desired key.
19<30
8<19<25
SHEETALWAGHMARE FROM IIT KHARAGPUR
8. Insertion in B-tree
Create a B-tree of order 5
10,40,30,35,20,15,50,28,25,5,60,19,12,38,27,90,45,48
10 30 35 40 10 20 30 35 40
Node can contain only 4 values so
we will split the node
10 20
30
35 40
10 20
30
35 40
12 15 19 45 50 60 9025 27 285 38
SHEETALWAGHMARE FROM IIT KHARAGPUR
9. Now to insert 48
10 20
30
35 40
12 15 19 45 50 60 9025 27 285 38
10 20
30
35 40 50
12 15 19 45 5025 27 285 38
We cannot insert
48 in this node
bcz node can
contain at the
most 4 values
only. So we have
to split the node
45 48 50 60 90
60 90
Move
50 to
parent
node
SHEETALWAGHMARE FROM IIT KHARAGPUR