What is the difference between a binary tree, a binary search tree, a B tree and a B+ tree?

    • Binary Tree : It is a tree data structure in which each node has at most two children. As such there is no relation between a parent and its left and right descendants. Hence they are unordered.
    • Binary Search Tree : These are ordered binary trees with a recursive relation left<root<right which is followed at every node. Its due to this rule that helps in faster search,insertion and deletion. The best case is achieved when the tree is balanced.

      Note: Not all BSTs are self balancing.
    • B-Tree : It is a generalization of a BST in that a node can have more than two children. These are self balancing and hence the average and worst complexities is logarithmic.We opt for these when the data is too huge to fit in main memory.  These structures are used in database indexing and help in faster operations on disk.
    • B+ Tree : In these copies of the keys are stored in the internal nodes; the keys and records are stored in leaves; in addition, a leaf node may include a pointer to the next leaf node to speed sequential access. These are used in File systems, DBMS etc.

posted on 2016-03-09 18:19  wyman25  阅读(389)  评论(0编辑  收藏  举报

导航