Random search trees have the property that their depth depends on the order in which they are built. They have to be balanced in order to obtain a more efficient storage-and-retrieval data structure. Balancing a search tree is time consuming. This explains the popularity of data structures which approximate a balanced tree but have lower amortized balancing costs, such as AVL trees, Fibonacci trees and 2-3 trees. The algorithms for maintaining these data structures efficiently are complex and hard to derive. This observation has led to insertion algorithms that perform local balancing around the newly inserted node, without backtracking on the search path. This is also called a fringe heuristic. The resulting class of trees is referred to as 1-locally balanced trees, in this note referred to as hairy trees. In this note a simple analysis of their behaviour is provided.
Read full abstract