树知识点总结

什么是树?

答:树是n个结点的集合。

什么是森林?

答:n棵互不相交的树组成的集合叫森林。

结点的度指什么?

答:结点拥有的子树的数量。

树的高度(深度)指什么?

答:树中结点的最大层次。

树的平均深度是多少?

答:O(logN)

什么是二叉树?

答:二叉树是一棵树,其每个结点的子结点数最多为2

什么是二叉查找树(ADT)?

答:二叉查找树是一棵树,其左子树中所有结点的值都小于根结点,其右子树中所有结点的值都大于根结点。

       二叉查找树就保证了元素的有序性。

什么是平衡二叉查找树(AVL)?

答:AVL是带有平衡条件的二叉查找树。其每个结点的左子树和右子树的高度差最多为1

  平衡二叉查找树(AVL)在二叉查找树的基础上加平衡条件,是为了防止在查找的时候,二叉查找树的层次过深。

  当向AVL树中插入或删除元素时,可能会破坏平衡条件,解决办法是旋转。旋转分四种情况:LL型平衡旋转、RR型平衡旋转、LR型平衡旋转、RL型平衡旋转,这四种旋转又可概括为两种:单旋转和双旋转。假如在向AVL树中插入或删除元素时,破坏了AVL的平衡性,就需要通过旋转来调整,使之重新平衡。

什么是红黑树?

答:首先,红黑树是二叉查找树,在二叉查找树的基础上,增加了一些特性。

  二叉查找树按照一定顺序存储元素,这使得在查找元素时变得方便,其平均深度为O(logN)。但是二叉查找树的问题在于,其性能严重地依赖于输入,而输入却是随机的。如果情况不是这样,则运行时间会显著增加,二叉查找树会成为昂贵的链表。

  平衡二叉查找树(AVL)就是用来解决二叉查找树的问题的,它要求所有结点的左子树和右子树的高度差最多为1,这就保证了树不至于太深。但是平衡二叉查找树(AVL)对平衡的要求太严苛,以至于插入和删除操作时,非常容易破坏平衡条件,会引起频繁的平衡调整,导致效率下降。

  红黑树就是一种折中选择,它既能起到平衡的作用,使二叉查找树的深度不至于太深,又不像平衡二叉查找树(AVL)那样严苛,它追求的是二叉查找树的局部平衡,就算在插入和删除操作,也不会那么容易就破坏掉红黑树的平衡条件,效率较AVL来说,比较高。

红黑树是具有着色性质的二叉查找树,其特性如下:

答:1.每一个节点要么着成红色,要么着成黑色。

       2.根是黑色的。

       3.如果一个节点是红色,那么它的子节点必须是黑色的。

       4.从一个节点到一个null引用的每一条路径必须包含相同数目的黑色节点。

 

 

 

 

 

猜你喜欢

转载自blog.csdn.net/lz1170063911/article/details/80138172