Rancher

导航

 

2014年11月30日

摘要: 摘要本节在前两节(树的旋转,2-3-4树)的基础上,讨论红黑树的性质及实现。初识红黑树简介通过对2-3-4树的分析,我们认识到其直接实现比较复杂,时间开销可能会比普通BST更大。因而我们通过对普通BST增加一些信息,实现2-3-4树。这里采用的一种高效的方法,就是红黑树。基本思想是在每个结点中添加一... 阅读全文
posted @ 2014-11-30 19:17 Rancher 阅读(482) 评论(1) 推荐(0) 编辑
 
摘要: 摘要:普通BST并不能保证在多次操作后仍然保持良好的性能。因此我们需要一种BST,是的每次插入和搜索的开销是该树大大小的对数函数。2-3-4树就是这样一种能够保持平衡的BST。2-3-4树介绍为了保证BST是平衡的,我们需要树具备一定的灵活性。2-3-4树选择的方法是令结点可以容纳一个以上的关键字。... 阅读全文
posted @ 2014-11-30 17:05 Rancher 阅读(447) 评论(0) 推荐(0) 编辑
 
摘要: 摘要:本文讨论维护树的平衡的重要手段之一:旋转。掌握旋转是掌握高级树结构的基础。单旋转:如图:X, Y为带旋转结点,a, b, c为这两个结点的子树。图中从左到右顺序为左旋转,反之为右旋转。不难得出,旋转的关键在于处理好指针的重定向。于是我们容易得出旋转的过程:过程看似复杂,其实就是重新链接受旋转影... 阅读全文
posted @ 2014-11-30 12:12 Rancher 阅读(637) 评论(0) 推荐(0) 编辑
 
摘要: 摘要本文主要讨论的内容包括:BST的性质以及基本操作分析。作为最基本的数据结构,二叉查找树(后文记为BST)本身不仅易于理解,代码精简,而且通过添加不同的特性,可以实现许多高级的数据结构,例如:添加颜色信息,升级为红黑树;添加高度和平衡信息,升级为AVL树;更改节点数量,成为2-3-4树等更为复杂的... 阅读全文
posted @ 2014-11-30 11:02 Rancher 阅读(518) 评论(0) 推荐(0) 编辑