Explain insertion procedure into a b-tree, Data Structure & Algorithms

Assignment Help:

Ans:

Insertion into the B-tree:

1.  First search is made for the place where the new record must be positioned. As soon as the keys are inserted, they are sorted into the appropriate order.

2.  If the node can contain the new record, insert the new record at the suitable pointer so that number of pointers happens to be one more than the number of records.

3.  If the node overflows because of an upper bound on the size of the node, splitting is needed. The node is divided into three parts; the middle record is passed up and inserted into parent, leaving two children at the back. If n is odd (n-1 keys in full node and the new target key), the median key int(n/2)+1 is placed into the parent node, the lower n/2 keys are placed in the left leaf and the higher n/2 keys are placed in the right leaf. If n is even, we may have left biased or right biased means one key can be more in left child or right child respectively.

4.  Splitting may propagate up the tree because the parent, into which the divided record is added, it may overflow then it may be split.  If the root is required to be divided, a new record is created with only two children.

 

 


Related Discussions:- Explain insertion procedure into a b-tree

Stack, Explain the array and linked list implementation of stack

Explain the array and linked list implementation of stack

Shortest path algorithms, A driver takes shortest possible route to attain ...

A driver takes shortest possible route to attain destination. The problem which we will discuss here is similar to this type of finding shortest route in any specific graph. The gr

Estimate the probability that the noncritical path , An advertising project...

An advertising project manager developed the network diagram shown below for a new advertising campagign.  In addition, the manager gathered the time information for each activity,

Deletion of any element from the queue, Program segment for the deletion of...

Program segment for the deletion of any element from the queue delmq(i)  /* Delete any element from queue i */ { int i,x; if ( front[i] == rear[i]) printf("Queue is

What is string, What is String Carrier set of the String ADT is the s...

What is String Carrier set of the String ADT is the set of all finite sequences of characters from some alphabet, including empty sequence (the empty string). Operations on s

Naïve recursive algorithm for binomial coefficients, How many recursive cal...

How many recursive calls are called by the naïve recursive algorithm for binomial coefficients, C(10, 5) and C(21, 12) C(n,k){c(n-1,k)+c(n-1,k-1) if 1 1 if k = n or k = 0

Sparse matrix, How sparse matrix stored in the memory of a computer?

How sparse matrix stored in the memory of a computer?

Splay trees, Addition of new records in a Binary tree structure always occu...

Addition of new records in a Binary tree structure always occurs as leaf nodes, which are further away from the root node making their access slower. If this new record is to be ac

Bubble sort, Q. The reason bubble sort algorithm is inefficient is that it ...

Q. The reason bubble sort algorithm is inefficient is that it continues execution even after an array is sorted by performing unnecessary comparisons. Therefore, the number of comp

Elaborate the symbols of abstract data type, Elaborate the symbols of abstr...

Elaborate the symbols of abstract data type length(a)-returns the number of characters in symbol a. capitalize(a)-returns the symbol generated from a by making its first cha

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd