blog/algorithms/99-rank-balanced-trees/index.md
Matej Focko 9e4568f445
algorithms(rank-balanced-trees): add intro
Signed-off-by: Matej Focko <me@mfocko.xyz>
2024-07-23 20:38:15 +02:00

1.9 KiB
Raw Blame History

id slug title description tags last_update
index /rank-balanced-trees/ Rank-Balanced Trees Explaining the rank-balanced trees. The web version of my bachelor thesis.
balanced trees
red-black trees
avl tree
wavl tree
date
2024-06-08

Data structures have become a regular part of the essential toolbox for problem-solving. In many cases, they also help to improve the existing algorithms performance, e.g., using a priority queue in Dijkstras algorithm for the shortest path. This thesis 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 focus on the Weak AVL (WAVL) tree4 that is a relaxed variant of the AVL tree, but still provides better balancing than a red-black tree.

We will start by describing the AVL tree, then we will introduce the idea of a rank-balanced tree. Given this insight we will be able to explore various implementations of aforementioned trees using the rank-balanced tree. At the end we will focus on the Weak AVL tree


  1. A dichromatic framework for balanced trees. ↩︎

  2. Organization and Maintenance of Large Ordered Indices. ↩︎

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

  4. Rank-Balanced Trees ↩︎