blog/algorithms/99-rank-balanced-trees/01-introduction.md
Matej Focko a9f9205805
algorithms(rank): initialize chapter and add intro
Signed-off-by: Matej Focko <mfocko@redhat.com>
Signed-off-by: Matej Focko <me@mfocko.xyz>
2024-06-08 20:10:08 +02:00

2.3 KiB
Raw Blame History

title description tags
Introduction Summing up the contents of the „Rank-Balanced Trees“ chapter.
balanced trees

Data structures have become a regular part of the essential toolbox for problem-solving. In many cases, they also help to improve the existing algorithm's performance, e.g. using a priority queue in Dijkstra's algorithm for the shortest path. We will mainly discuss the implementation of a set.

Currently, the most commonly used implementations of sets use hash tables, but we will talk about another common alternative, implementation via self-balancing search trees. Compared to a hash table, they provide consistent time complexity, but at the cost of a requirement for ordering on the elements. The most implemented self-balancing binary tree is a red-black tree, as described by Guibas and Sedgewick1. Among other alternatives, we can find (non-binary) B-tree2 and AVL tree3.

We will start by discussing the properties of the AVL tree3, then we will follow up on that with a definition of a rank-balanced tree, including implementation of algorithms for implementing commonly known trees such as red-black tree and AVL tree using the given representation. Afterwards we will delve into the details of the Weak AVL (WAVL) tree4 that has relaxed requirements compared to the AVL tree.


  1. GUIBAS, Leo J.; SEDGEWICK, Robert. A dichromatic framework for balanced trees. In: 19th Annual Symposium on Foundations of Computer Science (sfcs 1978). 1978, pp. 821. Available from doi: 10.1109/SFCS.1978.3. ↩︎

  2. BAYER, R.; MCCREIGHT, E. Organization and Maintenance of Large Ordered Indices. In: Proceedings of the 1970 ACM SIGFIDET (Now SIGMOD) Workshop on Data Description, Access and Control. Houston, Texas: Association for Computing Machinery, 1970, pp. 107141. SIGFIDET 70. isbn 9781450379410. Available from doi: 10.1145/1734663.1734671. ↩︎

  3. ADELSON-VELSKIJ, Georgij; LANDIS, Evgenij. An algorithm for the organization of information. Doklady Akad. Nauk SSSR. 1962, vol. 146, pp. 263266. ↩︎

  4. HAEUPLER, Bernhard; SEN, Siddhartha; TARJAN, Robert E. Rank-Balanced Trees. ACM Trans. Algorithms. 2015, vol. 11, no. 4. issn 1549-6325. Available from doi: 10.1145/2689412. ↩︎