Revisiting 2–3 red–black trees with a pedagogically sound yet efficient deletion algorithm: parity-seeking

DOI: https://doi.org/10.1007/s00236-023-00452-6
2024-03-30
Acta Informatica
Abstract:Red–black (RB) trees are one of the most efficient variants of balanced binary search trees. However, they have often been criticized for being too complicated, hard to explain, and unsuitable for pedagogical purposes, particularly their delete operation. Sedgewick (in: Dagstuhl Workshop on Data Structures, 2008. https://sedgewick.io/wp-content/themes/sedgewick/papers/2008LLRB.pdf) identified the length of code as the root of the problems and introduced left-leaning red–black (LLRB) trees. The delete operation of LLRB trees has a compact recursive code. Unfortunately, it may perform many unnecessary operations. The crux of the deletion algorithm is dealing with a "deficient" subtree, that is one whose black-height has become one less than that of its sibling subtree. In this paper, we revisit 2–3 red–black trees and propose a parity-seeking delete algorithm with the basic idea of making a deficient subtree on a par with its sibling: either by fixing the deficient subtree or by turning the sibling deficient as well, ascending deficiency to the parent node. Interestingly, the proposed parity-seeking delete algorithm also works for 2–3–4 RB trees. Our experiments show that the proposed parity-seeking delete algorithm is as efficient as the best preceding RB trees. The proposed parity-seeking delete algorithm is easily understandable and suitable for pedagogical and practical purposes.
computer science, information systems
What problem does this paper attempt to address?