19-09-2017, 01:21 PM
In computing a B-tree is a self-balanced tree data structure that maintains the ordered data and allows searches, sequential access, insertions and deletions in logarithmic time. The B-tree is a generalization of a binary search tree in the sense that a node can have more than two children (Comer 1979, page 123). Unlike self-balanced binary search trees, tree B is optimized for systems that read and write large blocks of data. B trees are a good example of a data structure for external memory. It is commonly used in databases and file systems.
In B-trees, the internal nodes (non-leaf) can have a variable number of child nodes within a predefined range. When you insert or delete data from a node, it changes its number of child nodes. To maintain the predefined range, the internal nodes can be joined or divided. Because a range of child nodes is allowed, B trees do not need to be rebalanced as frequently as other self-balancing trees, but they may lose some space, since the nodes are not completely full. The lower and upper limits of the number of child nodes are usually set for a particular implementation. For example, in a 2-3 B tree (often simply referred to as a 2-3 tree), each internal node can have only 2 or 3 child nodes.
In B-trees, the internal nodes (non-leaf) can have a variable number of child nodes within a predefined range. When you insert or delete data from a node, it changes its number of child nodes. To maintain the predefined range, the internal nodes can be joined or divided. Because a range of child nodes is allowed, B trees do not need to be rebalanced as frequently as other self-balancing trees, but they may lose some space, since the nodes are not completely full. The lower and upper limits of the number of child nodes are usually set for a particular implementation. For example, in a 2-3 B tree (often simply referred to as a 2-3 tree), each internal node can have only 2 or 3 child nodes.