zoukankan      html  css  js  c++  java
  • 每天进步一点点之树的遍历

    树的遍历:

    1,前序遍历

    void PreOrderTraversal(BinTree T){
        BinTree T_temp = T;
        stack<TreeNode*>    sta;
        while(T_temp || !sta.empty()){
            while(T_temp){
                Print_elm(T_temp->Data);
                sta.push(T_temp);
                T_temp=T_temp->left;
            }
            if(!sta.empty()){
                T_temp=sta.top();
                sta.pop();
                T_temp=T_temp->right;
            }
        }
        
    }

    2,中序遍历

    非递归代码实现如下:

    void InOrderTraversal(BinTree T){
        BinTree T_temp = T;
        stack<TreeNode*>    sta;
        while(T_temp || !sta.empty()){
            while(T_temp){
                sta.push(T_temp);
                T_temp=T_temp->left;
            }
            if(!sta.empty()){
                T_temp=sta.top();
                sta.pop();
                Print_elm(T_temp->Data);
                T_temp=T_temp->right;
            }
        }
        
    }

    3,后序遍历

    4,常见问题:

      a,求二叉树的叶子结点数目:

    void PreOrderTraversal(BinTree T){
        BinTree BT = T;
        while(BT){
            if(!BT->left && !BT->right)
                Print_elm(BT->Data);
            PreOrderTraversal(BT->left);
            PreOrderTraversal(BT->right);
        }
    }

      b,求二叉树的高度:

    int PostOrderGetHeight(BinTree BT){
        int HL,HR,MaxH;
        BinTree BT_temp=BT;
        if(BT_temp){
            HL= PostOrderGetHeight(BT_temp->left);
            HR= PostOrderGetHeight(BT_temp->right);
            MaxH = (HL > HR) ? HL : HR;
            return (MaxH + 1); 
        }else return 0;
    }

    5,考研中考点主要有三个:

      a) 写出该树的前序遍历,中序遍历,后序遍历结果。

      b) 根据已知的遍历序列,写出另外的遍历序列。

      c)根据已知的遍历序列还原树的结构:

        中序遍历必须知晓,前序或者后序知晓一个就行,否则无法确定树结构。

  • 相关阅读:
    bzoj2888: 资源运输
    [ SDOI 2009 ] HH的项链 & [ HEOI 2012 ] 采花
    [ POI 2017 ] Podzielno
    [ HAOI 2011 ] Problem A
    [ SDOI 2011 ] 打地鼠
    [ SCOI 2007 ] Perm
    [ POI 2011 ] Dynamite
    [ BZOJ 3038 & 3211 / SPOJ GSS4 ] 上帝造题七分钟2 / 花神游历各国
    [ BZOJ 3445 ] Roadblock
    [ ZJOI 2006 ] Mahjong
  • 原文地址:https://www.cnblogs.com/lixiangfu/p/13340632.html
Copyright © 2011-2022 走看看