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

  • 相关阅读:
    多线程
    Java命令行传参
    IO流
    集合
    Java基础语法
    常见的数据结构
    泛型
    java 集合重要概念 (Set 的存储内存解析)
    java 集合重要概念 (== 和 equals 解读)
    java 集合重要概念 (实现一个简单的斗地主)
  • 原文地址:https://www.cnblogs.com/LaplaceAkuir/p/5774601.html
Copyright © 2011-2022 走看看