码迷,mamicode.com
首页 > 其他好文 > 详细

二叉查找树、平衡二叉树和红黑树

时间:2019-09-26 21:09:25      阅读:85      评论:0      收藏:0      [点我收藏+]

标签:查找树   log   二叉搜索树   平衡二叉树   span   树的高度   htm   子节点   相对   

首先说一下,凡是每个节点最多只有两个子节点的树都叫二叉树。

二叉查找树

二叉查找树,也称二叉搜索树,或二叉排序树。其定义也比较简单,要么是一颗空树,要么就是具有如下性质的二叉树:

(1)若任意节点的左子树不空,则左子树上所有结点的值均小于它的根结点的值;

(2) 若任意节点的右子树不空,则右子树上所有结点的值均大于它的根结点的值;

(3) 任意节点的左、右子树也分别为二叉查找树;

(4) 没有键值相等的节点。

平衡二叉树(AVL二叉树)

?  平衡二叉搜索树,又被称为AVL树,且具有以下性质:它是一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。

红黑树

一种二叉查找树,但在每个节点增加一个存储位表示节点的颜色,可以是红或黑(非红即黑)。通过对任何一条从根到叶子的路径上各个节点着色的方式的限制,红黑树确保没有一条路径会比其它路径长出两倍,因此,红黑树是一种弱平衡二叉树(由于是弱平衡,可以看到,在相同的节点情况下,AVL树的高度低于红黑树),相对于要求严格的AVL树来说,它的旋转次数少,所以对于搜索,插入,删除操作较多的情况下,我们就用红黑树。

Attention:

  • 平衡树(AVL)是为了解决 二叉查找树(BST)退化为链表的情况。
  • 红黑树(RBT)是为了解决 平衡树 在删除等操作需要频繁调整的情况

参考:https://www.liangzl.com/get-article-detail-136354.htmlhttps://blog.csdn.net/qq_25940921/article/details/82183093https://www.jianshu.com/p/d25e490e2441

二叉查找树、平衡二叉树和红黑树

标签:查找树   log   二叉搜索树   平衡二叉树   span   树的高度   htm   子节点   相对   

原文地址:https://www.cnblogs.com/fxtx/p/11594255.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!