树 先序中序后序遍历

原创 2016年08月31日 14:55:38

题目链接:http://codevs.cn/problem/3143/


题目分析:

题目描述 Description

求一棵二叉树的前序遍历,中序遍历和后序遍历

输入描述 Input Description

第一行一个整数n,表示这棵树的节点个数。

接下来n行每行2个整数L和R。第i行的两个整数Li和Ri代表编号为i的节点的左儿子编号和右儿子编号。

输出描述 Output Description

输出一共三行,分别为前序遍历,中序遍历和后序遍历。编号之间用空格隔开。

样例输入 Sample Input

5

2 3

4 5

0 0

0 0

0 0

样例输出 Sample Output

1 2 4 5 3

4 2 5 1 3

4 5 2 3 1

数据范围及提示 Data Size & Hint

n <= 16

AC代码:

#include<iostream>
#include<cstring>
#include<cstdio>
#include<cmath>
using namespace std;
struct node
{
    int left,right;
}tree[105];

void _for(int m)
{
    if(!m)
        return;
    cout<<m<<" ";
    _for(tree[m].left);
    _for(tree[m].right);
}
void _mid(int m)
{
    if(!m)
        return;
    _mid(tree[m].left);
    cout<<m<<" ";
    _mid(tree[m].right);
}
void _last(int m)
{
    if(!m)
        return ;
    _last(tree[m].left);
    _last(tree[m].right);
    cout<<m<<" ";
}
int main()
{
    int n;
    cin>>n;
    memset(tree,0,sizeof(tree));
    for(int i=1;i<=n;i++)
        cin>>tree[i].left>>tree[i].right;
    _for(1);
    cout<<endl;
    _mid(1);
    cout<<endl;
    _last(1);
    cout<<endl;
    return 0;
}


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

先序、中序、后序遍历(三种情况访问二叉树)

昨天才写了篇关于二叉排序树的博客,想起之前有所遗漏,如先序,中序以及后序遍历; 先序遍历:也叫做先根遍历,前序遍历,可记做根左右(二叉树父结点向下先左后右)。首先访问根结点然后遍历左子树,最后遍历右子...
  • xjm199
  • xjm199
  • 2014-02-27 17:43
  • 1515

树的先序、中序和后序遍历方式

前序遍历 前序遍历(DLR) 前序遍历也叫做先根遍历、先序遍历,可记做根左右。 前序遍历首先访问根结点然后遍历左子树,最后遍历右子树。在遍历左、右子树时,仍然先访问根结点,然后遍历左子树...

二叉树知识点、先序、中序、后序遍历(数据结构)

Reference: 1. 作者:小马 2. 作者:ggmghwp一 、二叉树的概念二叉树就是每个结点最多有两个子树的树形存储结构。 1、满二叉树和完全二叉树上图就是典型的...

二叉树的先序、中序、后序遍历的JavaScript表示

二叉树的先序、中序、后序遍历的JavaScript表示之前学数据结构的时候,学了二叉树的先序、中序、后序遍历的方法,并用C语言实现了,下文是用js实现二叉树的3种遍历,并以动画的形式展现出遍历的过程。...

递归解决汉诺塔问题和二叉树的先序中序后序遍历问题

在外的日子都是孤独的,希望每天都能过得充实,每天都会有收获。 ShanSir@Dalian 2012-4-8 贴两段小程序,积累生活的点点滴滴。 汉诺塔问题 #include ...

【数据结构与算法】(六) c 语言实现简单的二叉树静态创建及先序、中序、后序遍历

// // main.c // testBinaryTree // // Created by lan on 16/3/15. // Copyright © 2016年 lan. All ri...

二叉树的非递归先序、中序和后序遍历

这个学期一直在忙着准备面试,复习,都没有看新的书,也很久没有写Blog了。 之前写过二叉树的遍历,但是现在回去看实在是不忍直视,不仅写的复杂,而且还不一定正确。现在把二叉树的三种非递归遍历重写一...
  • yk_ee
  • yk_ee
  • 2017-07-01 14:30
  • 75

二叉树的先序中序后序遍历 (递归和非递归)

二叉树的结构 package Tree;public class TreeNode { int val=0; TreeNode left=null; TreeNode right=n...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)