常见的几个树的性质

来源:互联网 发布:php登录成功跳转页面 编辑:程序博客网 时间:2024/05/16 06:24


二叉排序树(二叉查找树,Binary Sort Tree):

它或者是一棵空树;或者是具有下列性质的二叉树: (1)若左子树不空,则左子树上所有结点的值均小于它的根结点的值; (2)若右子树不空,则右子树上所有结点的值均大于它的根结点的值; (3)左、右子树也分别为二叉排序树;

 

平衡二叉树(AVL树):

它或者是一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树

 

红黑树(RB树):

性质1. 节点是红色或黑色。  

性质2. 根是黑色。  

性质3 每个叶节点是黑色的。  

性质4 每个红色节点的两个子节点都是黑色。(从每个叶子到根的所有路径上不能有两个连续的红色节点)  

性质5. 从任一节点到其每个叶子的所有路径都包含相同数目的黑色节点。

 

完全二叉树:

若设二叉树的高度为h,除第 h 层外,其它各层 (1~h-1) 的结点数都达到最大个数,第 h 层所有的节点都连续集中在最左边,这就是完全二叉树。

完全二叉树是效率很高的数据结构,堆是一种完全二叉树,所以效率极高,像十分常用的排序算法、Dijkstra算法、Prim算法等都要用堆才能优化,几乎每次都要考到的二叉排序树的效率也要借助平衡性来提高,而平衡性基于完全二叉树。

 

满二叉树:


除最后一层外,每一层上的所有结点都有两个子结点(最后一层上的结点为叶子结点)。也可以这样理解,除叶子结点外的所有结点均有两个子结点。节点数达到最大值。所有叶子结点必须在同一层上.


原地址:

http://blog.csdn.net/sjjbupt/article/details/6777511



原创粉丝点击