• 二叉树的遍历算法


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

    //前序遍历 中左右
    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:已知后序遍历和中序遍历,可以唯一确定一棵树

  • 相关阅读:
    Java面试知识点总结
    Log4j常用配置及使用
    Eclipse+tomcat+axis2进行web service部署
    iframe内点击a标签禁止滚动到顶部
    VScode首选项
    Bookmarks
    VScode常用插件
    slideout
    bs-loading
    iPhone X 上删除白条
  • 原文地址:https://www.cnblogs.com/LaplaceAkuir/p/5774601.html
Copyright © 2020-2023  润新知