what is the difference between binary tree and avl tree?
An AVL tree is a self-balancing binary search tree, balanced to maintain O(log n) height. A B-tree is a balanced tree, but it is not a binary tree. Nodes have more children, which increases per-node search time but decreases the number of nodes the search needs to visit.