标签:style color ar 数据 sp div 问题 c log
1.为什么要提出红黑树?
二叉查找树的查找、插入、删除时间复杂度都是O(h),其中h是树的高度。假设二叉查找树的结点个数是n,如果二叉查找树比较平衡,则h=O(log n),如果二叉查找树严重不平衡,那么树的高度h远大于O(log n),则二叉查找树的查找、插入、删除操作的时间复杂度就比较高。
平衡查找树就是为解决二叉查找树高度h比较大时,查找、插入、删除操作的时间复杂度比较高的问题而提出的数据结构。
目前为止,我接触到的平衡查找树有:AVL树、B树、红黑树。(其他平衡查找树还有很多)
1)AVL树:最先发明的自平衡二叉查找树,AVL中任何结点的两个儿子子树的高度最大差为1.
2)B树:是一种平衡的多叉树。
3)红黑树:是一种对称的二叉B树。
2.什么是红黑树?
简单来说,红黑树是一种高度为O(log n)的二叉查找树。
红黑树中每个节点包括5个域:key(结点值)、color(结点颜色)、p(指向双亲)、left(指向左孩子)、right(指向右孩子)。
红黑树有5个性质:
标签:style color ar 数据 sp div 问题 c log
原文地址:http://www.cnblogs.com/Xylophone/p/3893543.html