重新审视2-3红黑树:一种教学清晰且高效的删除算法——奇偶寻求删除算法
数据结构与算法
2022-06-22 v3
摘要
红黑(RB)树是平衡二叉搜索树最高效的变体之一。然而,它们一直被指责过于复杂、难以解释且不适合教学目的。在Guibas & Sedgewick (1978)的开创性工作中,曾考虑过RB树的2-3和2-3-4两种变体,但由于插入算法中旋转次数较多,对前者的进一步研究被放弃。Sedgewick (2008)提出了一种2-3 RB树的变体,即左倾红黑(LLRB)树,其中红链接被限制为左子节点,并提出了简洁的递归插入和删除算法。然而,LLRB的自顶向下删除算法仍然非常复杂且效率极低。在本文中,我们重新考虑2-3红黑树,其中节点的两个子节点不能同时为红。我们提出了一种奇偶寻求删除算法,其基本思想是使缺陷子树与其兄弟子树达到奇偶一致:要么修复缺陷子树,要么使兄弟也变为缺陷,从而将缺陷上移至父节点。有趣的是,所提出的奇偶寻求删除算法也适用于2-3-4 RB树。我们的实验表明,2-3 RB树几乎与RB树一样高效,且比LLRB树快两倍。此外,采用所提奇偶寻求删除算法的RB树具有与经典删除算法相同的旋转次数和几乎一致的运行时长。在极其高效的同时,所提出的奇偶寻求删除算法易于理解且适合教学目的。
引用
@article{arxiv.2004.04344,
title = {Revisiting 2-3 Red-Black Trees with a Pedagogically Sound yet Efficient Deletion Algorithm: The Parity-Seeking Delete Algorithm},
author = {Kamaledin Ghiasi-Shirazi and Taraneh Ghandi and Ali Taghizadeh and Ali Rahimi-Baigi},
journal= {arXiv preprint arXiv:2004.04344},
year = {2022}
}