美文网首页
二叉树遍历应用

二叉树遍历应用

作者: 日常表白结衣 | 来源:发表于2017-07-31 11:25 被阅读0次

    【例】输出二叉树中的叶子节点

    /* 先序遍历输出叶子节点 */
    void PreOrderTraversal(BinTree BT)
    {
        if(BT){
            if(!BT->Left&&!BT->Right)  //如果没有左右儿子节点
                printf("%d",BT->Data);
            PreOrderTraversal(BT->Left);
            PreOrderTraversal(Bt->Right);
        }
    }
    

    【例】求二叉树高度

    /* 求二叉树高度 
        Height=MAX(Hl,Hr)+1 
        后序遍历实现 
        递归 */
    int PosOrderGetHeight(BinTree BT)
    {
        int HL,HR,MaxH;
        if(BT){
            HL=PosOrderGetHeight(BT->Left); //左子树高度
            HR=PosOrderGetHeight(BT->Right); //右子树高度
            MaxH=(HL>HR)?HL:HR;
            return(MaxH+1); 
        }
        else return 0; 
    }
    

    相关文章

      网友评论

          本文标题:二叉树遍历应用

          本文链接:https://www.haomeiwen.com/subject/vrbllxtx.html