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

时间:2024-10-31 08:35:20
    • 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.