0% found this document useful (0 votes)
65 views3 pages

B-Tree Terminology: X1 X2 X3 X1 X2 X3 Keys

B-trees are self-balancing search trees that allow efficient insertion and deletion of data. The document demonstrates how a B-tree of order 4 performs insertions and deletions of keys. It shows that nodes can split when they become full during insertion, and keys may be redistributed or nodes combined during deletion to avoid underflows.

Uploaded by

syamradhe
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
65 views3 pages

B-Tree Terminology: X1 X2 X3 X1 X2 X3 Keys

B-trees are self-balancing search trees that allow efficient insertion and deletion of data. The document demonstrates how a B-tree of order 4 performs insertions and deletions of keys. It shows that nodes can split when they become full during insertion, and keys may be redistributed or nodes combined during deletion to avoid underflows.

Uploaded by

syamradhe
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3

10/26/2018

Terminology
B-Tree Node
*X1*X2*X3* X1 X2 X3
Keys

Pointers
By
V.Radhesyam A node can have (i) More than one key
(ii) More than two pointers
All leaves are at same level
All keys of a node are sorted in increasing order

1 2

2-3 Tree and 2-3-4 Tree


B Tree of order m has…
• B-Tree of order 3 can have 2or 3 children
Pointers Keys per node. So it is called 2-3 Tree.
At most M M-1
At least m/2 [m/2]-1
• B-Tree of order 4 can have 2or 3 or
children per node. So it is called 2-3-4 Tree.

If m=4 Pointers Keys


At most 4 3
At least 2 1

3 4

Operations Insert 5, 3, 21
• B-Tree of order 4
*5* a
– Each node has at most 4 pointers and 3 keys,
and at least 2 pointers and 1 key.
*3*5* a
• Insert: 5, 3, 21, 9, 1, 13, 2, 7, 10, 12, 4, 8
• Delete: 2, 21, 10, 3, 4
* 3 * 5 * 21 * a

5 6

1
10/26/2018

Insert 9 Insert 1, 13
*9* a *9* a

b c b c
*3*5* * 21 * *1*3*5* * 13 * 21 *

Node a splits creating 2 children: b and c Nodes b and c have room to insert more elements

7 8

Insert 2 Insert 7, 10
*3*9* a *3*9* a

b d c b d c
*1*2* *5* * 13 * 21 * *1*2* *5*7* * 10 * 13 * 21 *

Node b has no more room, so it splits creating node d. Nodes d and c have room to add more elements

9 10

Insert 12 Insert 4
a a
* 3 * 9 * 13 * * 3 * 9 * 13 *
b d c e b d c e
*1*2* *5*7* * 10 * 12 * * 21 * *1*2* *4*5*7* * 10 * 12 * * 21 *

Nodes c must split into nodes c and e Node d has room for another element

11 12

2
10/26/2018

Insert 8 Delete 2
a
*9*
*9* a
f g
*3*7* * 13 * f g
*3*7* * 13 *
b d h c e
*1*2* *4*5* *8* * 10 * 12 * * 21 * b d h c e
*1* *4*5* *8* * 10 * 12 * * 21 *
Node d must split into 2 nodes. This causes node a to split
into 2 nodes and the tree grows a level. Node b can loose an element without underflow.

13 14

Delete 21 Delete 10
*9* a *3*7*9* a

f g
b d h e
*3*7* * 12 *
*1* *4*5* *8* * 12 * 13 *

b d h c e
*1* *4*5* *8* * 10 * * 13 * Deleting 10 causes node c to underflow. This causes the parent,
node g to recombine with nodes f and a. This causes the tree to
shrink one level.
Deleting 21 causes node e to underflow, so elements are
redistributed between nodes c, g, and e
15 16

Delete 3 Delete 4
*4*7*9* a *7*9* a

b d h e b h e
*1* *5* *8* * 12 * 13 * *1*5* *8* * 12 * 13 *

Because 3 is a pointer to nodes below it, deleting 3 requires Deleting 4 requires a redistribution of the keys in the subtrees of 4;
keys to be redistributed between nodes a and d. however, nodes b and d do not have enough keys to redistribute
without causing an underflow. Thus, nodes b and d must be combined.

17 18

You might also like