A balanced trees, or self-balancing (or height-balanced) binary search tree in computer science, is any node-based binary search tree that automatically keeps its height (number of levels below the root) small in the face of arbitrary item insertions and deletions