B – trees, Data Structure & Algorithms

Assignment Help:

B-trees are special m-ary balanced trees utilized in databases since their structure allows records to be added, deleted & retrieved with guaranteed worst case performance.

A B-Tree is a special multiway tree. In a B-Tree each of nodes may contain a large number of keys. The number of subtrees of each of node may also be large. A B-Tree is designed to branch out in this great number of directions and to contain many keys in each node so that height of the tree is comparatively small.

It means that only a small number of nodes have to be read from disk to retrieve an item.

A B-Tree of order m is multiway search tree of order m such as

  • All leaves are onto the bottom level
  • All internal nodes (except root node) contain at least m/2 (non empty) children
  • The root node can have as few as 2 children if this is an internal node and can have no children if the root node is leaf node
  • Each leaf node has to contain atleast (m/2) - 1 keys. The given is the structure for a B-tree :

struct btree

{          int count;         // number of keys stored into the current node

            item_type key[3];        // array to hold 3 keys

            long branch [4];           // array of fake pointers (records numbers)

};                    

Figure depicts an order 5 B-tree.

1847_B – TREES.png

Figure: A B-tree of order 5


Related Discussions:- B – trees

Asymptotic analysis, Asymptotic Analysis Asymptotic analysis is dependi...

Asymptotic Analysis Asymptotic analysis is depending on the idea that as the problem size grows, the complexity can be defined as a simple proportionality to some known functio

Determine the warnock algorithm, Warnock's Algorithm A divide and conqu...

Warnock's Algorithm A divide and conquer algorithm Warnock (PolyList PL, ViewPort VP) If (PL simple in VP) then Draw PL in VP, else Split VP vertically and horiz

What is ruby, What is Ruby Ruby has numerous simple types, including nu...

What is Ruby Ruby has numerous simple types, including numeric classes such as Integer, Fixnum, Bignum, Float, Big Decimal, Rational, and Complex, textual classes like String,

Abstract data type- queue, A significant aspect of Abstract Data Types is t...

A significant aspect of Abstract Data Types is that they explain the properties of a data structure without specifying the details of its implementation. The properties might be im

A linear list of elements in which deletion can be done, A linear list of e...

A linear list of elements in which deletion can be done from one end (front) and insertion can take place only at the other end (rear) is called as a   Queue.

If else, design algorithm and flow chart that computes the absolute differe...

design algorithm and flow chart that computes the absolute difference of two values x and y

Algorithms, characteristics of a good algorithm

characteristics of a good algorithm

What are the dynamic arrays, What are the Dynamic arrays Dynamic arrays...

What are the Dynamic arrays Dynamic arrays are convenient for programmers since they can never be too small-whenever more space is needed in a dynamic array, it can simply be e

Array and two-dimensional array, Q. Describe the term array.  How do we rep...

Q. Describe the term array.  How do we represent two-dimensional arrays in memory?  Explain how we calculate the address of an element in a two dimensional array.

Non-recursive implementation of preorder traversal, For preorder traversal,...

For preorder traversal, in the worst case, the stack will rise to size n/2, where n refer to number of nodes in the tree. Another method of traversing binary tree non-recursively t

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