• 二叉树的遍历


    题目描述

    给出一个n个结点的二叉树,请求出二叉树的前序遍历,中序遍历和后序遍历。

    输入

    第一行有一个整数n(0

    以下n行,每行第一个为一个大写字母表示结点的值,第i+1行的结点编号为i;后面为两整数,第一个表示该结点左孩子结点编号,第二个表示该结点右孩子的结点编号,如果该编号为0表示没有;(编号为1的结点是树的根)

    输出

     共三行,第一行为二叉树的前序遍历,第二行为中序遍历,第三行为后序遍历 

    样例输入

    7
    F 2 3
    C 4 5
    E 0 6
    A 0 0
    D 7 0
    G 0 0
    B 0 0
    

    样例输出

    FCADBEG
    ACBDFEG
    ABDCGEF
    

    提示

    样例对应的二叉树如图所示:

     

    参考代码:

    #include
    using namespace std;
    int a[30][2],n,x,y;
    char c,s[30];
    void f1(int i){
        cout<     if(a[i][0]!=0)
            f1(a[i][0]);
        if(a[i][1]!=0)
            f1(a[i][1]);
        return;
    }
    void f2(int i){
        if(a[i][0]!=0)
            f2(a[i][0]);
        cout<     if(a[i][1]!=0)
            f2(a[i][1]);
        return;
    }
    void f3(int i){
        if(a[i][0]!=0)
            f3(a[i][0]);
        if(a[i][1]!=0)
            f3(a[i][1]);
        cout<     return;
    }
    int main(){
        cin>>n;
        for(int i=1;i<=n;i++){
            cin>>c>>x>>y;
            a[i][0]=x;
            a[i][1]=y;
            s[i]=c;
        }
        f1(1);
        cout<<'\n';
        f2(1);
        cout<<'\n';
        f3(1);
        return 0;
    }

  • 相关阅读:
    Leetcode 877. 石子游戏
    linux下shell脚本实现wordpress搭建
    trafilatura 网页解析原理分析
    树模型(2)随机森林
    设计模式之观察者模式
    React原理剖析之diff算法,一点也不难!!!
    react-redux 使用小结
    前端面试十大经典手写题
    springboot 事务注解
    JVM 面试题
  • 原文地址:https://blog.csdn.net/qybcjmy/article/details/126159383