0% found this document useful (0 votes)
27 views

B+ Tree: What Is A B+ Tree Searching Insertion Deletion

This document discusses B+ trees, including definitions, benefits, and how to perform searching, insertion, and deletion operations. A B+ tree is a self-balancing tree where all leaves are at the same depth. It provides fast searching and is easy to maintain balance. Searching simply compares keys, insertion may split nodes violating balance rules, and deletion rebuilds the tree if balance is lost.

Uploaded by

ClaudiuLucian
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
27 views

B+ Tree: What Is A B+ Tree Searching Insertion Deletion

This document discusses B+ trees, including definitions, benefits, and how to perform searching, insertion, and deletion operations. A B+ tree is a self-balancing tree where all leaves are at the same depth. It provides fast searching and is easy to maintain balance. Searching simply compares keys, insertion may split nodes violating balance rules, and deletion rebuilds the tree if balance is lost.

Uploaded by

ClaudiuLucian
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 26

B+ Tree

What is a B+ Tree
Searching
Insertion
Deletion

What is a B+ Tree
Definition and benefits of a B+Tree

1.Definition: A B+tree is a balanced tree in which every


path from the root of the tree to a leaf is of the same
length, and each nonleaf node of the tree has
between [n/2] and [n] children, where n is fixed for a
particular tree. It contains index pages and data
pages. The capacity of a leaf has to be 50% or more.
For example: if n = 4, then the key for each node is
between 2 to 4. The index page will be 4 + 1 = 5.
Example of a B+ tree with four keys (n = 4) looks like
this:

What is a B+ Tree

What is a B+ Tree
Question: Is this a valid B+ Tree?
C

What is a B+ Tree
Answer:
1.Both tree in slide 3 and slide 4 are valid; how
you store data in B+ Tree depend on your
algorithm when it is implemented.
2.As long as the number of data in each leaf are
balanced, it doesnt matter how many data
you stored in the leaves. For example: in the
previous question, the n can be 3 or 4, but
can not be 5 or more than 5.

What is a B+ Tree

1.

Benefit: Every data structure has its benefit to


solve a particular problem over other data
structures. The two main benefits of B+ tree are:
Based on its definition, it is easy to maintain its
balance. For example: Do you have to check your
B+ trees balance after you edit it?
No, because all B+ trees are inherently balanced,
which make it easy for us to manipulate the data.

What is a B+ Tree
2.The searching time in a B+ tree is much
shorter than most of other kinds of trees. For
example: To search a data in one million keyvalues, a balanced binary requires about 20
block reads, in contrast only 4 block reads is
required in B+ Tree.
(The formula to calculate searching time can
be found in the book. Page 492-493)

Searching
Since no structure change in a B+ tree during

a searching process, so just compare the key


value with the data in the tree, then give the
result back.
For example: find the value 45, and 15 in
below tree.

Searching
Result:

1. For the value of 45, not found.


2. For the value of 15, return the position
where the pointer located.

Insertion
Since insert a value into a B+ tree may cause

the tree unbalance, so rearrange the tree if


needed.
Example #1: insert 28 into the below tree.

25 28 30
Dose not violates
the 50% rule

Insertion
Result:

Insertion
Example #2: insert 70 into below tree

Insertion
Process: split the tree

50

50

55

55

60

60

65

65

70

70

Violate the
50% rule,
split the
leaf

Insertion
Result: chose the middle key 60, and place it

in the index page between 50 and 75.

Insertion
The insert algorithm for B+ Tree
Data
Page Full

Index Page
Full

Action

NO

NO

Place the record in sorted position in the appropriate leaf page

YES

NO

1.
2.
3.
4.

YES

YES

1.
2.
3.
4.
5.
6.

Split the leaf page


Place Middle Key in the index page in sorted order.
Left leaf page contains records with keys below the middle key.
Right leaf page contains records with keys equal to or greater than
the middle key.
Split the leaf page.
Records with keys < middle key go to the left leaf page.
Records with keys >= middle key go to the right leaf page.
Split the index page.
Keys < middle key go to the left index page.
Keys > middle key go to the right index page.
The middle key goes to the next (higher level) index.
IF the next level index page is full, continue splitting the index pages.

Insertion
Exercise: add a key value 95 to the below

tree.

75 80 85 90 95
Violate the
50% rule,
split the leaf.

75 80

85 90 95

25 50 60 75 85

Insertion
Result: again put the middle key 60 to the

index page and rearrange the tree.

Deletion
Same as insertion, the tree has to be rebuild if the

deletion result violate the rule of B+ tree.


Example #1: delete 70 from the tree

This is OK.
60

65

Deletion

Result:

Deletion
Example #2: delete 25 from below tree, but 25
appears in the index page.
But

28 30
This is
OK.

Deletion
Result: replace 28 in the index page.
Add 28

Deletion
Example #3: delete 60 from the below tree

65
50

55

65

Violet the
50% rule

Deletion
Result: delete 60 from the index page and

combine the rest of index pages.

Deletion
Delete algorithm for B+ trees
Data Page Below Fill
Factor

Index Page Below Fill


Factor

Action

NO

NO

Delete the record from the leaf page. Arrange


keys in ascending order to fill void. If the key of
the deleted record appears in the index page,
use the next key to replace it.

YES

NO

Combine the leaf page and its sibling. Change


the index page to reflect the change.

YES

YES

1.
2.
3.

Combine the leaf page and its sibling.


Adjust the index page to reflect the
change.
Combine the index page with its sibling.
Continue combining index pages until you
reach a page with the correct fill factor or
you reach the root page.

Conclusion

For a B+ Tree:
It is easy to maintain its balance.
The searching time is short than most of
other types of trees.

Reference
http://babbage.clarku.edu/~achou/cs160/B+Tr

ees/B+Trees.htm
www.csee.umbc.edu/~pmundur/courses/CMS

C461-05/ch12.ppt

You might also like