完全二叉树

简介: 完全二叉树
  • 二叉树:每个结点非常多 2 棵子树,没有其它限制了。
  • 二叉查找树:也叫二叉搜索树,首先它是二叉树,并且左子树上所有结点的值 小于 它根结点的值,右子树上所有结点的值大于它根结点的值。
  • 二叉排序树:就是二叉查找树。
  • 二叉平衡树:更加准确的应该叫 “平衡二叉树”,它是 “平衡二叉搜索树” 的简称。首先它是 “二叉搜索树”,其次,它是平衡的,即是它的每一个结点的左子树的高度和右子树的高度差至多为 1。

总结来说,二叉树就是每个节点非常多有两个子节点的树。它对节点的内容没要求。二叉排序树 = 二叉查找树。它是一种二叉树,但是对节点内容有要求。每个节点的左子树(如果有的话)里所有节点的值都必须小于当前节点的值;每个节点的右子树(如果有的话)里所有节点的值都必须大于当前节点的值。如果一颗二叉树看上去基本没有缺胳膊少腿(从根到每片叶子的路径长度非常多相差1),那么它是棵平衡二叉树。对于一般二叉树而言,平衡不平衡没啥特别意义,但是对二叉查找树而言,越平衡则查找效率越高。


延伸阅读:

  • 完全二叉树

完全二叉树是一种特殊的二叉树,满足以下要求:

所有叶子节点都出现在 k 或者 k-1 层,而且从 1 到 k-1 层必须达到最大节点数;第 k 层可以不是满的,但是第 k 层的所有节点必须集中在最左边。 需要注意的是不要把完全二叉树和“满二叉树”搞混了,完全二叉树不要求所有树都有左右子树,但它要求:任何一个节点不能只有左子树没有右子树;叶子节点出现在最后一层或者倒数第二层,不能再往上。

目录
相关文章
|
11月前
|
存储 C++
二叉树搜索树的应用
二叉树搜索树的应用
53 1
二叉树层序遍历及判断完全二叉树
二叉树层序遍历及判断完全二叉树
150 2
二叉树的讲解
1.若规定根节点的层数为1,则一棵非空二叉树的第i层上最多有2^(i-1) 个结点. 2. 若规定根节点的层数为1,则深度为h的二叉树的最大结点数是 2^h-1. 3. 对任何一棵二叉树, 如果度为0其叶结点个数为n0 , 度为2的分支结点个数为02 ,则有n0 =n2 +1 4. 若规定根节点的层数为1,具有n个结点的满二叉树的深度,h= . (ps: 是log以2为底,n+1为对数) 5. 对于具有n个结点的完全二叉树,如果按照从上至下从左至右的数组顺序对所有节点从0开始编号,则对于序号为i的结点有:
二叉树的讲解
|
搜索推荐
完全二叉树
完全二叉树是一种特殊的二叉树结构,它的每个节点都有两个子节点,除了最后一层外,每一层上的所有节点都有两个子节点。这种结构使得满二叉树具有较高的查找和插入性能。
85 6
|
搜索推荐
满二叉树
满二叉树是一种特殊的二叉树结构,它的每个节点都有两个子节点,除了最后一层外,每一层上的所有节点都有两个子节点。这种结构使得满二叉树具有较高的查找和插入性能。
104 9
|
11月前
|
存储
浅谈二叉树
浅谈二叉树
48 1
|
6月前
|
存储 Java C++
二叉树的实现(上)
二叉树的实现
68 0
|
存储
二叉树讲解
二叉树讲解
69 0
|
存储 机器学习/深度学习
认识一棵二叉树
大家好,我是王有志。今天要学习的是编程中绕不开的结构--树,无论是二分搜索树,红黑树,B+树,还是的决策树和随机森林,都和树息息相关。
68 0
认识一棵二叉树