Android

完全二叉树,满二叉树,平衡二叉树,搜索二叉树,红黑树

2019-10-27  本文已影响0人  名字是乱打的

满二叉树:

除最后一层无任何子节点外,每一层上的所有结点都有两个子结点


完全二叉树:

完全二叉树是由满二叉树而引出来的。对于深度为K的,有n个结点的二叉树,当且仅当其每一个结点都与深度为K的满二叉树中编号从1至n的结点一一对应时称之为完全二叉树。如下图


满二叉树都是完全二叉树
完全二叉树依次填满直至满二叉树的阶段,每一个树都是完全二叉树

二叉搜索树

它是一种节点值之间具有一定数量级次序的二叉树,对于树中每个节点:

平衡二叉树定义(AVL):

它或者是一颗空树,或者具有以下性质的二叉排序树:它的左子树和右子树的深度之差(平衡因子)的绝对值不超过1,且它的左子树和右子树都是一颗平衡二叉树。


红黑树

红黑树大值定义和平衡二叉树相同,但是具有以下几个特点

红黑树和平衡二叉树的区别

1.红黑树放弃了追求完全平衡,追求大致平衡,在与平衡二叉树的时间复杂度相差不大的情况下,保证每次插入最多只需要三次旋转就能达到平衡,实现起来也更为简单。
2.平衡二叉树追求绝对平衡,条件比较苛刻,实现起来比较麻烦,每次插入新节点之后需要旋转的次数不能预知。

红黑树颜色的作用

红黑树使用红黑二色进行“着色”,目的是利用颜色值作为二叉树的平衡对称性的检查,只要插入的节点“着色”满足红黑二色的规定,最短路径与最长路径不会相差的太远,红黑树的节点分布就能大体上达至均衡。

上一篇下一篇

猜你喜欢

热点阅读