zoukankan      html  css  js  c++  java
  • 二叉树的遍历算法

    二叉树的定义采用递归的方式,遍历方式也可以采用递归,而且极其简明。

    //前序遍历 中左右
    void PreOrderTraverse(BiTree T) { if(T==NULL) return; printf("%c",T->data);//先显示数据点 PreOredeTraverse(T->lchild);//再先序遍历左子树 PreOredeTraverse(T->rchild);//最后先序遍历右子树 }

      

    //中序遍历 左中右
    void InOrderTraverse(BiTree T)
    {
         if(T==NULL)
              return;
        PreOredeTraverse(T->lchild);//先序遍历左子树
        printf("%c",T->data);//再显示数据点
        PreOredeTraverse(T->rchild);//最后先序遍历右子树
    
    }
    

      

    //后序遍历 左右中
    void PostOrderTraverse(BiTree T)
    {
         if(T==NULL)
              return;
        PreOredeTraverse(T->rchild);//先序遍历右子树
        PreOredeTraverse(T->lchild);//最后先序遍历左子树
        printf("%c",T->data);//再显示数据点
    }
    

     两个二叉树遍历的性质:

    1:已知前序遍历和中序遍历,可以唯一确定一棵树

    2:已知后序遍历和中序遍历,可以唯一确定一棵树

  • 相关阅读:
    GCD HDU
    Finding Lines UVALive
    Chinese Mahjong UVA
    DNA Evolution CodeForces
    String Reconstruction (并查集)
    Number Cutting Game HDU
    Paint the Wall ZOJ
    Star sky CodeForces
    Haunted Graveyard ZOJ
    GuGuFishtion HDU
  • 原文地址:https://www.cnblogs.com/LaplaceAkuir/p/5774601.html
Copyright © 2011-2022 走看看