AVL tree is a self-balancing binary search tree in which each node maintain an extra factor which is called balance factor whose value is either -1, 0 or 1.
B-Tree:
A B-tree is a self – balancing tree data structure that keeps data sorted and allows searches, insertions, and deletions in O(log N) time.
Difference between AVL Tree and B-Tree:
S.No.
AVL Trees
B-Tree
1
It is a self-balancing binary search tree
It is a multi-way tree(N – ary tree).
2
Every node contains at most 2 child nodes
In this tree, nodes can have multiple child nodes
3
It has a balance factor whose value is either -1, 0, or 1.
Balance factor = (height of left subtree)-(height of right subtree)
or
Balance factor = (height of right subtree)-(height of left subtree)
B-Tree is defined by the term minimum degree ‘t‘. The value of ‘t‘ depends upon disk block size. Every node except the root must contain at least t-1 keys. The root may contain a minimum of 1 key.
4
AVL tree has a height of log(N) (Where N is the number of nodes).
B-tree has a height of log(M*N) (Where ‘M’ is the order of tree and N is the number of nodes).