二叉树

1.遍历分为三种形式 :
            前序遍历DLR:    先访问根节点,  然后左子树 , 最后访问左子树 
            中序遍历LDR:    先访问左子树  ,然后根节点 , 最后访问右子树
            后续遍历LRD :     先访问左子树   ,然后右子树, 最后访问根节点
    三种遍历形式,每一层都是按照该种遍历形式进行。

2.二叉树的几个性质
        a.在第k层最多有(2的(k-1)次方)个节点。
        b.深度为m的最多有(2的m次方-1)个护额短板
         c.叶子节点的个数总是比深度为2的节点个数多一个。 
         d.有n个节点的二叉树,深度至少为【log2n】+1

3.二叉树形式 
         a.满二叉树:
                除了叶子节点以后,所有的节点都有两个节点
                每一层的节点数都是最大值
                不存在度数为一的节点
                
         b.完全二叉树:
                如果一个节点没有左子树, 则一定没有右子树
                如果右分支的最大层次为L ,那么左分支的最大层次也为L, 或者L+1
    如果该树是满二叉树, 则一定是完全二叉树, 反之不一定成立、              
              
例子
    :如上图所示的二叉树,若按前序遍历,则其输出序列为      。若按中序遍历,则其输出序列为      。若按后序遍历,则其输出序列为      。
前序:根A,A的左子树B,B的左子树没有,看右子树,为D,所以A-B-D。再来看A的右子树,根C,左子树E,E的左子树F,E的右子树G,G的左子树为H,没有了结束。连起来为C-E-F-G-H,最后结果为ABDCEFGH


中序:先访问根的左子树,B没有左子树,其有右子树D,D无左子树,下面访问树的根A,连起来是BDA。


再访问根的右子树,C的左子树的左子树是F,F的根E,E的右子树有左子树是H,再从H出发找到G,到此C的左子树结束,找到根C,无右子树,结束。连起来是FEHGC,  中序结果连起来是BDAFEHGC


后序:B无左子树,有右子树D,再到根B。再看右子树,最下面的左子树是F,其根的右子树的左子树是H,再到H的根G,再到G的根E,E的根C无右子树了,直接到C,这时再和B找它们其有的根A,所以连起来是DBFHGECA


例2:有下列二叉树,对此二叉树前序遍历的结果为(    )。

二叉树_第1张图片


A)ACBEDGFH                                          B)ABDGCEHF

C)HGFEDCBA                                          D)ABCDEFGH


希望这篇文章能够帮助您。

你可能感兴趣的:(c,二叉树,遍历)