SlideShare a Scribd company logo
Definition of a B-tree
• A B-tree of order m is an m-way tree (i.e., a tree where each
node may have up to m children) in which:
1. the number of keys in each non-leaf node is one less than the number
of its children and these keys partition the keys in the children in the
fashion of a search tree
2. all leaves are on the same level
3. all non-leaf nodes except the root have at least m / 2 children
4. the root is either a leaf node, or it has from two to m children
5. a leaf node contains no more than m – 1 keys
• The number m should always be odd
An example B-Tree
51 6242
6 12
26
55 60 7064 9045
1 2 4 7 8 13 15 18 25
27 29 46 48 53
A B-tree of order 5
containing 26 items
Note that all the leaves are at the same levelNote that all the leaves are at the same level
• Suppose we start with an empty B-tree and keys arrive in the
following order:1 12 8 2 25 6 14 28 17 7 52 16 48 68
3 26 29 53 55 45
• We want to construct a B-tree of order 5
• The first four items go into the root:
• To put the fifth item in the root would violate condition 5
• Therefore, when 25 arrives, pick the middle key to make a
new root
Constructing a B-tree
12128811 22
Constructing a B-tree
Add 25 to the tree
1
12
8
2
25
6
14
28
17
7
52
16
48
68
3
26
29
12128811 22 2525
Exceeds Order.
Promote middle and
split.
Constructing a B-tree (contd.)
6, 14, 28 get added to the leaf nodes:
1
12
8
2
25
6
14
28
17
7
52
16
48
68
3
26
29
1212
88
11 22 2525
1212
88
11 22 25256611 22 28281414 25
Constructing a B-tree (contd.)
Adding 17 to the right leaf node would over-fill it, so we take
the middle key, promote it (to the root) and split the leaf
1
12
8
2
25
6
14
28
17
7
52
16
48
68
3
26
29
1
12
8
2
25
6
14
28
17
7
52
16
48
68
3
26
29
1212
88
22 25256611 22 25251414 28281717
Constructing a B-tree (contd.)
7, 52, 16, 48 get added to the leaf nodes
1
12
8
2
25
6
14
28
17
7
52
16
48
68
3
26
29
1212
88
25256611 22 28281414
1717
77 52521616 4848
Constructing a B-tree (contd.)
Adding 68 causes us to split the right most leaf,
promoting 48 to the root
1
12
8
2
25
6
14
28
17
7
52
16
48
68
3
26
29
88 1717
77662211 161614141212 5252484828282525 6868
Constructing a B-tree (contd.)
Adding 3 causes us to split the left most leaf
1
12
8
2
25
6
14
28
17
7
52
16
48
68
3
26
29
4848171788
77662211 161614141212 2525 2828 5252 686833 77
Constructing a B-tree (contd.)
1
12
8
2
25
6
14
28
17
7
52
16
48
68
3
26
29
Add 26, 29, 53, 55 then go into the leaves
484817178833
11 22 66 77 5252 68682525 2828161614141212 2626 2929 5353 5555
Constructing a B-tree (contd.)
Add 45 increases the trees level
1
12
8
2
25
6
14
28
17
7
52
16
48
68
3
26
29
484817178833
2929282826262525 686855555353525216161414121266 7711 22 4545
Exceeds Order.
Promote middle and
split.
Exceeds Order.
Promote middle and
split.
Constructing a B-tree (contd.)
1
12
8
2
25
6
14
28
17
7
52
16
48
68
3
26
29
4848
1717
8833
2929
2828
26262525 686855555353525216161414121266 7711 22 4545
Inserting into a B-Tree
• Attempt to insert the new key into a leaf
• If this would result in that leaf becoming too big, split the leaf
into two, promoting the middle key to the leaf’s parent
• If this would result in the parent becoming too big, split the
parent into two, promoting the middle key
• This strategy might have to be repeated all the way to the top
• If necessary, the root is split in two and the middle key is
promoted to a new root, making the tree one level higher
Exercise in Inserting a B-Tree
• Insert the following keys to a 5-way B-tree:
• 3, 7, 9, 23, 45, 1, 5, 14, 25, 24, 13, 11, 8, 19, 4, 31, 35, 56
Answer to Exercise
Java Applet Source
Removal from a B-tree
• During insertion, the key always goes into a leaf. For deletion
we wish to remove from a leaf. There are three possible ways
we can do this:
• 1 - If the key is already in a leaf node, and removing it doesn’t
cause that leaf node to have too few keys, then simply remove
the key to be deleted.
• 2 - If the key is not in a leaf then it is guaranteed (by the
nature of a B-tree) that its predecessor or successor will be in
a leaf -- in this case can we delete the key and promote the
predecessor or successor key to the non-leaf deleted key’s
position.
Removal from a B-tree (2)
• If (1) or (2) lead to a leaf node containing less than the
minimum number of keys then we have to look at the siblings
immediately adjacent to the leaf in question:
– 3: if one of them has more than the min’ number of keys then we can
promote one of its keys to the parent and take the parent key into our
lacking leaf
– 4: if neither of them has more than the min’ number of keys then the
lacking leaf and one of its neighbours can be combined with their
shared parent (the opposite of promoting a key) and the new leaf will
have the correct number of keys; if this step leave the parent with too
few keys then we repeat the process up to the root itself, if required
Type #1: Simple leaf deletion
1212 2929 5252
22 77 99 1515 2222 5656 6969 72723131 4343
Delete 2: Since there are enough
keys in the node, just delete it
Assuming a 5-way
B-Tree, as before...
Note when printed: this slide is animated
Type #2: Simple non-leaf deletion
1212 2929 5252
77 99 1515 2222 5656 6969 72723131 4343
Delete 52
Borrow the predecessor
or (in this case) successor
5656
Note when printed: this slide is animated
Delete : 52
Type #4: Too few keys in node and
its siblings
1212 2929 5656
77 99 1515 2222 6969 72723131 4343
Delete 72
Delete 72: Too few keys!
Join back together
Note when printed: this slide is animated
Type #4: Too few keys in node and
its siblings
1212 2929
77 99 1515 2222 696956563131 4343
Note when printed: this slide is animated
Type #3: Enough siblings
1212 2929
77 99 1515 2222 696956563131 4343
Delete 22
Demote root key and
promote leaf key
Note when printed: this slide is animated
Delete: 22
Type #3: Enough siblings
1212
292977 99 1515
3131
696956564343
Note when printed: this slide is animated
Exercise in Removal from a B-Tree
• Given 5-way B-tree created by these data (last exercise):
• 3, 7, 9, 23, 45, 1, 5, 14, 25, 24, 13, 11, 8, 19, 4, 31, 35, 56
• Add these further keys: 2, 6,12
• Delete these keys: 4, 5, 7, 3, 14
Answer to Exercise
Java Applet Source

More Related Content

What's hot

Binary Tree in Data Structure
Binary Tree in Data StructureBinary Tree in Data Structure
Binary Tree in Data Structure
Meghaj Mallick
 
10.m way search tree
10.m way search tree10.m way search tree
10.m way search tree
Chandan Singh
 
Binary Search Tree and AVL
Binary Search Tree and AVLBinary Search Tree and AVL
Binary Search Tree and AVL
Katang Isip
 
B trees and_b__trees
B trees and_b__treesB trees and_b__trees
B trees and_b__trees
meghu123
 
A presentation on prim's and kruskal's algorithm
A presentation on prim's and kruskal's algorithmA presentation on prim's and kruskal's algorithm
A presentation on prim's and kruskal's algorithm
Gaurav Kolekar
 
BINARY TREE REPRESENTATION.ppt
BINARY TREE REPRESENTATION.pptBINARY TREE REPRESENTATION.ppt
BINARY TREE REPRESENTATION.ppt
SeethaDinesh
 
B trees
B treesB trees
Prims and kruskal algorithms
Prims and kruskal algorithmsPrims and kruskal algorithms
Prims and kruskal algorithms
Saga Valsalan
 
Presentation on queue
Presentation on queuePresentation on queue
Presentation on queue
Rojan Pariyar
 
b+ tree
b+ treeb+ tree
b+ tree
bitistu
 
stack & queue
stack & queuestack & queue
stack & queue
manju rani
 
Binary Search Tree
Binary Search TreeBinary Search Tree
Binary Search Tree
sagar yadav
 
B and B+ tree
B and B+ treeB and B+ tree
B and B+ tree
Ashish Arun
 
Skip lists (Advance Data structure)
Skip lists (Advance Data structure)Skip lists (Advance Data structure)
Skip lists (Advance Data structure)
Shubham Shukla
 
Pge Replacement Algorithm.pdf
Pge Replacement Algorithm.pdfPge Replacement Algorithm.pdf
Pge Replacement Algorithm.pdf
82NehaPal
 
Linked list
Linked listLinked list
Linked list
KalaivaniKS1
 
Tree and Binary Search tree
Tree and Binary Search treeTree and Binary Search tree
Tree and Binary Search tree
Muhazzab Chouhadry
 
Normalization in DBMS
Normalization in DBMSNormalization in DBMS
Binary search trees
Binary search treesBinary search trees
Binary search trees
Dhananjaysinh Jhala
 
Binary tree
Binary treeBinary tree
Binary tree
Rajendran
 

What's hot (20)

Binary Tree in Data Structure
Binary Tree in Data StructureBinary Tree in Data Structure
Binary Tree in Data Structure
 
10.m way search tree
10.m way search tree10.m way search tree
10.m way search tree
 
Binary Search Tree and AVL
Binary Search Tree and AVLBinary Search Tree and AVL
Binary Search Tree and AVL
 
B trees and_b__trees
B trees and_b__treesB trees and_b__trees
B trees and_b__trees
 
A presentation on prim's and kruskal's algorithm
A presentation on prim's and kruskal's algorithmA presentation on prim's and kruskal's algorithm
A presentation on prim's and kruskal's algorithm
 
BINARY TREE REPRESENTATION.ppt
BINARY TREE REPRESENTATION.pptBINARY TREE REPRESENTATION.ppt
BINARY TREE REPRESENTATION.ppt
 
B trees
B treesB trees
B trees
 
Prims and kruskal algorithms
Prims and kruskal algorithmsPrims and kruskal algorithms
Prims and kruskal algorithms
 
Presentation on queue
Presentation on queuePresentation on queue
Presentation on queue
 
b+ tree
b+ treeb+ tree
b+ tree
 
stack & queue
stack & queuestack & queue
stack & queue
 
Binary Search Tree
Binary Search TreeBinary Search Tree
Binary Search Tree
 
B and B+ tree
B and B+ treeB and B+ tree
B and B+ tree
 
Skip lists (Advance Data structure)
Skip lists (Advance Data structure)Skip lists (Advance Data structure)
Skip lists (Advance Data structure)
 
Pge Replacement Algorithm.pdf
Pge Replacement Algorithm.pdfPge Replacement Algorithm.pdf
Pge Replacement Algorithm.pdf
 
Linked list
Linked listLinked list
Linked list
 
Tree and Binary Search tree
Tree and Binary Search treeTree and Binary Search tree
Tree and Binary Search tree
 
Normalization in DBMS
Normalization in DBMSNormalization in DBMS
Normalization in DBMS
 
Binary search trees
Binary search treesBinary search trees
Binary search trees
 
Binary tree
Binary treeBinary tree
Binary tree
 

Similar to B trees

B trees2
B trees2B trees2
B trees2
Aman Jatain
 
B tree by-jash acharya
B tree by-jash acharyaB tree by-jash acharya
B tree by-jash acharya
Jash Acharya
 
16807097.ppt b tree are a good data structure
16807097.ppt b tree are a good data structure16807097.ppt b tree are a good data structure
16807097.ppt b tree are a good data structure
SadiaSharmin40
 
Btree
BtreeBtree
Btree
jasscheema
 
BTrees-fall2010.ppt
BTrees-fall2010.pptBTrees-fall2010.ppt
BTrees-fall2010.ppt
zalanmvb
 
08 B Trees
08 B Trees08 B Trees
08 B Trees
guestf7d226
 
Btrees
BtreesBtrees
Btrees
anianuanju
 
Lecture 9 b tree
Lecture 9 b treeLecture 9 b tree
Lecture 9 b tree
Abirami A
 
Btrees
BtreesBtrees
Btrees
anusonyrao5
 
4-b-tree.ppt
4-b-tree.ppt4-b-tree.ppt
4-b-tree.ppt
meenamadhuvandhi2
 
trees
trees trees
B Tree in Data Structure
B Tree in Data StructureB Tree in Data Structure
B Tree in Data Structure
Meghaj Mallick
 
Presentation on b trees [autosaved]
Presentation on b trees [autosaved]Presentation on b trees [autosaved]
Presentation on b trees [autosaved]
AKASHKUMAR1542
 
1.9 b trees eg 03
1.9 b trees eg 031.9 b trees eg 03
1.9 b trees eg 03
Krish_ver2
 
B trees
B treesB trees
Data structures trees - B Tree & B+Tree.pptx
Data structures trees - B Tree & B+Tree.pptxData structures trees - B Tree & B+Tree.pptx
Data structures trees - B Tree & B+Tree.pptx
MalligaarjunanN
 
Multi way&btree
Multi way&btreeMulti way&btree
Multi way&btree
Ssankett Negi
 
B tree-180214044656
B tree-180214044656B tree-180214044656
B tree-180214044656
kirupasuchi1996
 
B tree
B  treeB  tree
btrees.ppt ttttttttttttttttttttttttttttt
btrees.ppt  tttttttttttttttttttttttttttttbtrees.ppt  ttttttttttttttttttttttttttttt
btrees.ppt ttttttttttttttttttttttttttttt
RAtna29
 

Similar to B trees (20)

B trees2
B trees2B trees2
B trees2
 
B tree by-jash acharya
B tree by-jash acharyaB tree by-jash acharya
B tree by-jash acharya
 
16807097.ppt b tree are a good data structure
16807097.ppt b tree are a good data structure16807097.ppt b tree are a good data structure
16807097.ppt b tree are a good data structure
 
Btree
BtreeBtree
Btree
 
BTrees-fall2010.ppt
BTrees-fall2010.pptBTrees-fall2010.ppt
BTrees-fall2010.ppt
 
08 B Trees
08 B Trees08 B Trees
08 B Trees
 
Btrees
BtreesBtrees
Btrees
 
Lecture 9 b tree
Lecture 9 b treeLecture 9 b tree
Lecture 9 b tree
 
Btrees
BtreesBtrees
Btrees
 
4-b-tree.ppt
4-b-tree.ppt4-b-tree.ppt
4-b-tree.ppt
 
trees
trees trees
trees
 
B Tree in Data Structure
B Tree in Data StructureB Tree in Data Structure
B Tree in Data Structure
 
Presentation on b trees [autosaved]
Presentation on b trees [autosaved]Presentation on b trees [autosaved]
Presentation on b trees [autosaved]
 
1.9 b trees eg 03
1.9 b trees eg 031.9 b trees eg 03
1.9 b trees eg 03
 
B trees
B treesB trees
B trees
 
Data structures trees - B Tree & B+Tree.pptx
Data structures trees - B Tree & B+Tree.pptxData structures trees - B Tree & B+Tree.pptx
Data structures trees - B Tree & B+Tree.pptx
 
Multi way&btree
Multi way&btreeMulti way&btree
Multi way&btree
 
B tree-180214044656
B tree-180214044656B tree-180214044656
B tree-180214044656
 
B tree
B  treeB  tree
B tree
 
btrees.ppt ttttttttttttttttttttttttttttt
btrees.ppt  tttttttttttttttttttttttttttttbtrees.ppt  ttttttttttttttttttttttttttttt
btrees.ppt ttttttttttttttttttttttttttttt
 

More from invertis university

Data link control notes
Data link control notesData link control notes
Data link control notes
invertis university
 
Tree
TreeTree
Sorting
SortingSorting
Program listds
Program listdsProgram listds
Program listds
invertis university
 
Heaps
HeapsHeaps
Hashing
HashingHashing
Dsa book
Dsa bookDsa book
data structure on bca.
data structure on bca.data structure on bca.
data structure on bca.
invertis university
 
data structure on bca.
data structure on bca.data structure on bca.
data structure on bca.
invertis university
 
System security
System securitySystem security
System security
invertis university
 

More from invertis university (10)

Data link control notes
Data link control notesData link control notes
Data link control notes
 
Tree
TreeTree
Tree
 
Sorting
SortingSorting
Sorting
 
Program listds
Program listdsProgram listds
Program listds
 
Heaps
HeapsHeaps
Heaps
 
Hashing
HashingHashing
Hashing
 
Dsa book
Dsa bookDsa book
Dsa book
 
data structure on bca.
data structure on bca.data structure on bca.
data structure on bca.
 
data structure on bca.
data structure on bca.data structure on bca.
data structure on bca.
 
System security
System securitySystem security
System security
 

Recently uploaded

Liberal Approach to the Study of Indian Politics.pdf
Liberal Approach to the Study of Indian Politics.pdfLiberal Approach to the Study of Indian Politics.pdf
Liberal Approach to the Study of Indian Politics.pdf
WaniBasim
 
ANATOMY AND BIOMECHANICS OF HIP JOINT.pdf
ANATOMY AND BIOMECHANICS OF HIP JOINT.pdfANATOMY AND BIOMECHANICS OF HIP JOINT.pdf
ANATOMY AND BIOMECHANICS OF HIP JOINT.pdf
Priyankaranawat4
 
Natural birth techniques - Mrs.Akanksha Trivedi Rama University
Natural birth techniques - Mrs.Akanksha Trivedi Rama UniversityNatural birth techniques - Mrs.Akanksha Trivedi Rama University
Natural birth techniques - Mrs.Akanksha Trivedi Rama University
Akanksha trivedi rama nursing college kanpur.
 
The basics of sentences session 6pptx.pptx
The basics of sentences session 6pptx.pptxThe basics of sentences session 6pptx.pptx
The basics of sentences session 6pptx.pptx
heathfieldcps1
 
How to Add Chatter in the odoo 17 ERP Module
How to Add Chatter in the odoo 17 ERP ModuleHow to Add Chatter in the odoo 17 ERP Module
How to Add Chatter in the odoo 17 ERP Module
Celine George
 
Your Skill Boost Masterclass: Strategies for Effective Upskilling
Your Skill Boost Masterclass: Strategies for Effective UpskillingYour Skill Boost Masterclass: Strategies for Effective Upskilling
Your Skill Boost Masterclass: Strategies for Effective Upskilling
Excellence Foundation for South Sudan
 
World environment day ppt For 5 June 2024
World environment day ppt For 5 June 2024World environment day ppt For 5 June 2024
World environment day ppt For 5 June 2024
ak6969907
 
Community pharmacy- Social and preventive pharmacy UNIT 5
Community pharmacy- Social and preventive pharmacy UNIT 5Community pharmacy- Social and preventive pharmacy UNIT 5
Community pharmacy- Social and preventive pharmacy UNIT 5
sayalidalavi006
 
Pengantar Penggunaan Flutter - Dart programming language1.pptx
Pengantar Penggunaan Flutter - Dart programming language1.pptxPengantar Penggunaan Flutter - Dart programming language1.pptx
Pengantar Penggunaan Flutter - Dart programming language1.pptx
Fajar Baskoro
 
The Diamonds of 2023-2024 in the IGRA collection
The Diamonds of 2023-2024 in the IGRA collectionThe Diamonds of 2023-2024 in the IGRA collection
The Diamonds of 2023-2024 in the IGRA collection
Israel Genealogy Research Association
 
Chapter 4 - Islamic Financial Institutions in Malaysia.pptx
Chapter 4 - Islamic Financial Institutions in Malaysia.pptxChapter 4 - Islamic Financial Institutions in Malaysia.pptx
Chapter 4 - Islamic Financial Institutions in Malaysia.pptx
Mohd Adib Abd Muin, Senior Lecturer at Universiti Utara Malaysia
 
Digital Artifact 1 - 10VCD Environments Unit
Digital Artifact 1 - 10VCD Environments UnitDigital Artifact 1 - 10VCD Environments Unit
Digital Artifact 1 - 10VCD Environments Unit
chanes7
 
How to Manage Your Lost Opportunities in Odoo 17 CRM
How to Manage Your Lost Opportunities in Odoo 17 CRMHow to Manage Your Lost Opportunities in Odoo 17 CRM
How to Manage Your Lost Opportunities in Odoo 17 CRM
Celine George
 
PCOS corelations and management through Ayurveda.
PCOS corelations and management through Ayurveda.PCOS corelations and management through Ayurveda.
PCOS corelations and management through Ayurveda.
Dr. Shivangi Singh Parihar
 
How to Fix the Import Error in the Odoo 17
How to Fix the Import Error in the Odoo 17How to Fix the Import Error in the Odoo 17
How to Fix the Import Error in the Odoo 17
Celine George
 
Hindi varnamala | hindi alphabet PPT.pdf
Hindi varnamala | hindi alphabet PPT.pdfHindi varnamala | hindi alphabet PPT.pdf
Hindi varnamala | hindi alphabet PPT.pdf
Dr. Mulla Adam Ali
 
How to Make a Field Mandatory in Odoo 17
How to Make a Field Mandatory in Odoo 17How to Make a Field Mandatory in Odoo 17
How to Make a Field Mandatory in Odoo 17
Celine George
 
How to Build a Module in Odoo 17 Using the Scaffold Method
How to Build a Module in Odoo 17 Using the Scaffold MethodHow to Build a Module in Odoo 17 Using the Scaffold Method
How to Build a Module in Odoo 17 Using the Scaffold Method
Celine George
 
BBR 2024 Summer Sessions Interview Training
BBR  2024 Summer Sessions Interview TrainingBBR  2024 Summer Sessions Interview Training
BBR 2024 Summer Sessions Interview Training
Katrina Pritchard
 
South African Journal of Science: Writing with integrity workshop (2024)
South African Journal of Science: Writing with integrity workshop (2024)South African Journal of Science: Writing with integrity workshop (2024)
South African Journal of Science: Writing with integrity workshop (2024)
Academy of Science of South Africa
 

Recently uploaded (20)

Liberal Approach to the Study of Indian Politics.pdf
Liberal Approach to the Study of Indian Politics.pdfLiberal Approach to the Study of Indian Politics.pdf
Liberal Approach to the Study of Indian Politics.pdf
 
ANATOMY AND BIOMECHANICS OF HIP JOINT.pdf
ANATOMY AND BIOMECHANICS OF HIP JOINT.pdfANATOMY AND BIOMECHANICS OF HIP JOINT.pdf
ANATOMY AND BIOMECHANICS OF HIP JOINT.pdf
 
Natural birth techniques - Mrs.Akanksha Trivedi Rama University
Natural birth techniques - Mrs.Akanksha Trivedi Rama UniversityNatural birth techniques - Mrs.Akanksha Trivedi Rama University
Natural birth techniques - Mrs.Akanksha Trivedi Rama University
 
The basics of sentences session 6pptx.pptx
The basics of sentences session 6pptx.pptxThe basics of sentences session 6pptx.pptx
The basics of sentences session 6pptx.pptx
 
How to Add Chatter in the odoo 17 ERP Module
How to Add Chatter in the odoo 17 ERP ModuleHow to Add Chatter in the odoo 17 ERP Module
How to Add Chatter in the odoo 17 ERP Module
 
Your Skill Boost Masterclass: Strategies for Effective Upskilling
Your Skill Boost Masterclass: Strategies for Effective UpskillingYour Skill Boost Masterclass: Strategies for Effective Upskilling
Your Skill Boost Masterclass: Strategies for Effective Upskilling
 
World environment day ppt For 5 June 2024
World environment day ppt For 5 June 2024World environment day ppt For 5 June 2024
World environment day ppt For 5 June 2024
 
Community pharmacy- Social and preventive pharmacy UNIT 5
Community pharmacy- Social and preventive pharmacy UNIT 5Community pharmacy- Social and preventive pharmacy UNIT 5
Community pharmacy- Social and preventive pharmacy UNIT 5
 
Pengantar Penggunaan Flutter - Dart programming language1.pptx
Pengantar Penggunaan Flutter - Dart programming language1.pptxPengantar Penggunaan Flutter - Dart programming language1.pptx
Pengantar Penggunaan Flutter - Dart programming language1.pptx
 
The Diamonds of 2023-2024 in the IGRA collection
The Diamonds of 2023-2024 in the IGRA collectionThe Diamonds of 2023-2024 in the IGRA collection
The Diamonds of 2023-2024 in the IGRA collection
 
Chapter 4 - Islamic Financial Institutions in Malaysia.pptx
Chapter 4 - Islamic Financial Institutions in Malaysia.pptxChapter 4 - Islamic Financial Institutions in Malaysia.pptx
Chapter 4 - Islamic Financial Institutions in Malaysia.pptx
 
Digital Artifact 1 - 10VCD Environments Unit
Digital Artifact 1 - 10VCD Environments UnitDigital Artifact 1 - 10VCD Environments Unit
Digital Artifact 1 - 10VCD Environments Unit
 
How to Manage Your Lost Opportunities in Odoo 17 CRM
How to Manage Your Lost Opportunities in Odoo 17 CRMHow to Manage Your Lost Opportunities in Odoo 17 CRM
How to Manage Your Lost Opportunities in Odoo 17 CRM
 
PCOS corelations and management through Ayurveda.
PCOS corelations and management through Ayurveda.PCOS corelations and management through Ayurveda.
PCOS corelations and management through Ayurveda.
 
How to Fix the Import Error in the Odoo 17
How to Fix the Import Error in the Odoo 17How to Fix the Import Error in the Odoo 17
How to Fix the Import Error in the Odoo 17
 
Hindi varnamala | hindi alphabet PPT.pdf
Hindi varnamala | hindi alphabet PPT.pdfHindi varnamala | hindi alphabet PPT.pdf
Hindi varnamala | hindi alphabet PPT.pdf
 
How to Make a Field Mandatory in Odoo 17
How to Make a Field Mandatory in Odoo 17How to Make a Field Mandatory in Odoo 17
How to Make a Field Mandatory in Odoo 17
 
How to Build a Module in Odoo 17 Using the Scaffold Method
How to Build a Module in Odoo 17 Using the Scaffold MethodHow to Build a Module in Odoo 17 Using the Scaffold Method
How to Build a Module in Odoo 17 Using the Scaffold Method
 
BBR 2024 Summer Sessions Interview Training
BBR  2024 Summer Sessions Interview TrainingBBR  2024 Summer Sessions Interview Training
BBR 2024 Summer Sessions Interview Training
 
South African Journal of Science: Writing with integrity workshop (2024)
South African Journal of Science: Writing with integrity workshop (2024)South African Journal of Science: Writing with integrity workshop (2024)
South African Journal of Science: Writing with integrity workshop (2024)
 

B trees

  • 1. Definition of a B-tree • A B-tree of order m is an m-way tree (i.e., a tree where each node may have up to m children) in which: 1. the number of keys in each non-leaf node is one less than the number of its children and these keys partition the keys in the children in the fashion of a search tree 2. all leaves are on the same level 3. all non-leaf nodes except the root have at least m / 2 children 4. the root is either a leaf node, or it has from two to m children 5. a leaf node contains no more than m – 1 keys • The number m should always be odd
  • 2. An example B-Tree 51 6242 6 12 26 55 60 7064 9045 1 2 4 7 8 13 15 18 25 27 29 46 48 53 A B-tree of order 5 containing 26 items Note that all the leaves are at the same levelNote that all the leaves are at the same level
  • 3. • Suppose we start with an empty B-tree and keys arrive in the following order:1 12 8 2 25 6 14 28 17 7 52 16 48 68 3 26 29 53 55 45 • We want to construct a B-tree of order 5 • The first four items go into the root: • To put the fifth item in the root would violate condition 5 • Therefore, when 25 arrives, pick the middle key to make a new root Constructing a B-tree 12128811 22
  • 4. Constructing a B-tree Add 25 to the tree 1 12 8 2 25 6 14 28 17 7 52 16 48 68 3 26 29 12128811 22 2525 Exceeds Order. Promote middle and split.
  • 5. Constructing a B-tree (contd.) 6, 14, 28 get added to the leaf nodes: 1 12 8 2 25 6 14 28 17 7 52 16 48 68 3 26 29 1212 88 11 22 2525 1212 88 11 22 25256611 22 28281414 25
  • 6. Constructing a B-tree (contd.) Adding 17 to the right leaf node would over-fill it, so we take the middle key, promote it (to the root) and split the leaf 1 12 8 2 25 6 14 28 17 7 52 16 48 68 3 26 29 1 12 8 2 25 6 14 28 17 7 52 16 48 68 3 26 29 1212 88 22 25256611 22 25251414 28281717
  • 7. Constructing a B-tree (contd.) 7, 52, 16, 48 get added to the leaf nodes 1 12 8 2 25 6 14 28 17 7 52 16 48 68 3 26 29 1212 88 25256611 22 28281414 1717 77 52521616 4848
  • 8. Constructing a B-tree (contd.) Adding 68 causes us to split the right most leaf, promoting 48 to the root 1 12 8 2 25 6 14 28 17 7 52 16 48 68 3 26 29 88 1717 77662211 161614141212 5252484828282525 6868
  • 9. Constructing a B-tree (contd.) Adding 3 causes us to split the left most leaf 1 12 8 2 25 6 14 28 17 7 52 16 48 68 3 26 29 4848171788 77662211 161614141212 2525 2828 5252 686833 77
  • 10. Constructing a B-tree (contd.) 1 12 8 2 25 6 14 28 17 7 52 16 48 68 3 26 29 Add 26, 29, 53, 55 then go into the leaves 484817178833 11 22 66 77 5252 68682525 2828161614141212 2626 2929 5353 5555
  • 11. Constructing a B-tree (contd.) Add 45 increases the trees level 1 12 8 2 25 6 14 28 17 7 52 16 48 68 3 26 29 484817178833 2929282826262525 686855555353525216161414121266 7711 22 4545 Exceeds Order. Promote middle and split. Exceeds Order. Promote middle and split.
  • 12. Constructing a B-tree (contd.) 1 12 8 2 25 6 14 28 17 7 52 16 48 68 3 26 29 4848 1717 8833 2929 2828 26262525 686855555353525216161414121266 7711 22 4545
  • 13. Inserting into a B-Tree • Attempt to insert the new key into a leaf • If this would result in that leaf becoming too big, split the leaf into two, promoting the middle key to the leaf’s parent • If this would result in the parent becoming too big, split the parent into two, promoting the middle key • This strategy might have to be repeated all the way to the top • If necessary, the root is split in two and the middle key is promoted to a new root, making the tree one level higher
  • 14. Exercise in Inserting a B-Tree • Insert the following keys to a 5-way B-tree: • 3, 7, 9, 23, 45, 1, 5, 14, 25, 24, 13, 11, 8, 19, 4, 31, 35, 56
  • 15. Answer to Exercise Java Applet Source
  • 16. Removal from a B-tree • During insertion, the key always goes into a leaf. For deletion we wish to remove from a leaf. There are three possible ways we can do this: • 1 - If the key is already in a leaf node, and removing it doesn’t cause that leaf node to have too few keys, then simply remove the key to be deleted. • 2 - If the key is not in a leaf then it is guaranteed (by the nature of a B-tree) that its predecessor or successor will be in a leaf -- in this case can we delete the key and promote the predecessor or successor key to the non-leaf deleted key’s position.
  • 17. Removal from a B-tree (2) • If (1) or (2) lead to a leaf node containing less than the minimum number of keys then we have to look at the siblings immediately adjacent to the leaf in question: – 3: if one of them has more than the min’ number of keys then we can promote one of its keys to the parent and take the parent key into our lacking leaf – 4: if neither of them has more than the min’ number of keys then the lacking leaf and one of its neighbours can be combined with their shared parent (the opposite of promoting a key) and the new leaf will have the correct number of keys; if this step leave the parent with too few keys then we repeat the process up to the root itself, if required
  • 18. Type #1: Simple leaf deletion 1212 2929 5252 22 77 99 1515 2222 5656 6969 72723131 4343 Delete 2: Since there are enough keys in the node, just delete it Assuming a 5-way B-Tree, as before... Note when printed: this slide is animated
  • 19. Type #2: Simple non-leaf deletion 1212 2929 5252 77 99 1515 2222 5656 6969 72723131 4343 Delete 52 Borrow the predecessor or (in this case) successor 5656 Note when printed: this slide is animated Delete : 52
  • 20. Type #4: Too few keys in node and its siblings 1212 2929 5656 77 99 1515 2222 6969 72723131 4343 Delete 72 Delete 72: Too few keys! Join back together Note when printed: this slide is animated
  • 21. Type #4: Too few keys in node and its siblings 1212 2929 77 99 1515 2222 696956563131 4343 Note when printed: this slide is animated
  • 22. Type #3: Enough siblings 1212 2929 77 99 1515 2222 696956563131 4343 Delete 22 Demote root key and promote leaf key Note when printed: this slide is animated Delete: 22
  • 23. Type #3: Enough siblings 1212 292977 99 1515 3131 696956564343 Note when printed: this slide is animated
  • 24. Exercise in Removal from a B-Tree • Given 5-way B-tree created by these data (last exercise): • 3, 7, 9, 23, 45, 1, 5, 14, 25, 24, 13, 11, 8, 19, 4, 31, 35, 56 • Add these further keys: 2, 6,12 • Delete these keys: 4, 5, 7, 3, 14
  • 25. Answer to Exercise Java Applet Source