二叉树、二叉查找树、二叉排序树、二叉平衡树的区别是什么?
一、二叉树、二叉查找树、二叉排序树、二叉平衡树
二叉树:每个结点非常多 2 棵子树,没有其它限制了。
二叉查找树:也叫二叉搜索树,首先它是二叉树,并且左子树上所有结点的值 小于 它根结点的值,右子树上所有结点的值大于它根结点的值。
二叉排序树:就是二叉查找树。
二叉平衡树:更加准确的应该叫 “平衡二叉树”,它是 “平衡二叉搜索树” 的简称。首先它是 “二叉搜索树”,其次,它是平衡的,即是它的每一个结点的左子树的高度和右子树的高度差至多为 1。
总结来说,二叉树就是每个节点非常多有两个子节点的树。它对节点的内容没要求。二叉排序树 = 二叉查找树。它是一种二叉树,但是对节点内容有要求。每个节点的左子树(如果有的话)里所有节点的值都必须小于当前节点的值;每个节点的右子树(如果有的话)里所有节点的值都必须大于当前节点的值。如果一颗二叉树看上去基本没有缺胳膊少腿(从根到每片叶子的路径长度非常多相差1),那么它是棵平衡二叉树。对于一般二叉树而言,平衡不平衡没啥特别意义,但是对二叉查找树而言,越平衡则查找效率越高。
延伸阅读:
二、完全二叉树
完全二叉树是一种特殊的二叉树,满足以下要求:
所有叶子节点都出现在 k 或者 k-1 层,而且从 1 到 k-1 层必须达到最大节点数;第 k 层可以不是满的,但是第 k 层的所有节点必须集中在最左边。 需要注意的是不要把完全二叉树和“满二叉树”搞混了,完全二叉树不要求所有树都有左右子树,但它要求:任何一个节点不能只有左子树没有右子树;叶子节点出现在最后一层或者倒数第二层,不能再往上。
相关推荐HOT
更多>>
如何使用Pandas处理Excel?
如何使用Pandas处理Excel?做过行政或者人事,或者对此有过了解的小伙伴,一定对下发各个部分的表有着非常深刻的印象,最常见的就是需要我们将一...详情>>
2023-11-14 07:43:15
python中np.insert()函数的使用方法
python中np.insert()函数的使用方法在numpy数组操作中,np.append()方法可以在每行每列的最后添加数据,但其位置是规定的,那如果想要指定添加...详情>>
2023-11-14 05:06:13
SVM在python中的原理如何理解?
SVM在python中的原理如何理解?在python中除了编程化的知识点外,对于数学方法的算法也有所涉及,SVM就是一种很好地体现。我们学习过数学中的坐...详情>>
2023-11-14 04:30:04
python处理绝对路径和相对路径函数有哪些?
python处理绝对路径和相对路径函数有哪些?绝对路径和相对路径是什么?绝对路径:从根文件夹开始,Windows系统以盘符(C:)作为根文件夹,OSX或Lin...详情>>
2023-11-14 03:33:02热门推荐
如何使用python any()判断多元素?
沸如何使用Pandas处理Excel?
热python函数中的参数有哪些?
热python中pygal模块如何使用?
新Python的excel处理操作
python中doctest库是什么?
python中series是什么意思
python中np.insert()函数的使用方法
SVM在python中的原理如何理解?
Python描述符中有哪三种方法?
python处理绝对路径和相对路径函数有哪些?
python单继承和多继承如何定义?
python封装中的私有如何理解?
python模块引入的三种方式
技术干货






