LLRB——红黑树的现代实现.docVIP

  • 2
  • 0
  • 约4.44千字
  • 约 15页
  • 2018-10-13 发布于山东
  • 举报
LLRB——红黑树的现代实现.doc

一、本文内容 以一种简明易懂的方式介绍红黑树背后的逻辑实现2-3-4树,以及红黑树的插入、删除操作,重点在2-3-4树与红黑树的对应关系上,并理清红黑树相关操作的来龙去脉。抛弃以往复杂的实现,而分析红黑树的一种简单实现LLRB。 ? ? 二、算法应用 红黑树,给人以强烈的第一听觉冲击力——红与黑,好像很高端的感觉。事实上的确如此,红黑树是一种高级数据结构,在C++、Java的标准库里作为set、map的底层数据结构实现,以及linux中进程的公平调度。 ? ? 三、2-3-4树 标题是红黑树,为什么讲2-3-4树?因为红黑树就是2-3-4树的一种等价形式,更准确地来说,我们用红黑树来完成2-3-4树的各种操作(如插入、删除)。原因就是2-3-4树的实现即维护太麻烦。所以理解2-3-4树才能真正理解红黑树。而历史就是这么发展的,了解过去,现在的一切才有了意义。算法导论关于红黑树这一节就忽略了这一点,让人知其然而不知其所以然。 ? OK,暂时先忽略复杂的红黑树,从简单的2-3-4树开始。 ? 1、定义 ? 2-3-4树是一种泛化的BST,它的每个结点允许1,2或者3个键(key),那么对应的有三种结点: 2-node:一个key,两个孩子; 3-node:二个key,三个孩子; 4-node:三个key,四个孩子。 注:k-node表示有k个链接(link)。泛化的BST还有2-3树,

文档评论(0)

1亿VIP精品文档

相关文档