黑马程序员技术交流社区
标题:
什么是红黑树,有没有通俗的解释
[打印本页]
作者:
yoghurt29
时间:
2016-4-24 13:07
标题:
什么是红黑树,有没有通俗的解释
红黑树的原理是什么,如何实现的?
作者:
oassuperhan
时间:
2016-4-24 20:05
就是一种高级的二叉树,由于它能够自己控制到平衡二叉树的高度,所以查找效率和平衡二叉树一样,而且实现也很方便。
红黑树的特点是由定义决定的,红黑树的所有节点不是黑色就是红色,根节点和所有叶子节点都是黑色的,而红色节点的两个子节点都是黑色。而从根节点到叶子节点的所有路径的黑色节点数目是相同的,所以无论你怎么插入删除元素他都是个平衡状态。不需要普通二叉树那样还要费时费力的平衡操作。
具体的实现,你最好看看算法导论,上面有详细的算法伪代码和理论基础证明。C++的STL中有封装好的红黑树模板,Java的TreeSet和TreeMap也是使用红黑树实现的。真的只是为了使用的话一般没有必要学习太多,直接调用就可以了。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2