二叉树遍历

原创 2015年11月20日 18:42:03

数据结构实验之二叉树二:遍历二叉树

Time Limit: 1000MS Memory limit: 65536K

题目描述

已知二叉树的一个按先序遍历输入的字符序列,如abc,,de,g,,f,,, (其中,表示空结点)。请建立二叉树并按中序和后序的方式遍历该二叉树。

输入

连续输入多组数据,每组数据输入一个长度小于50个字符的字符串。

输出

每组输入数据对应输出2行:
第1行输出中序遍历序列;
第2行输出后序遍历序列。

 

示例输入

abc,,de,g,,f,,,

示例输出

cbegdfacgefdba




#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<malloc.h>
char q[100];int i;
struct node
{
    char data;
    struct node *l,*r;
};
struct node *creat(struct node *p)
{


    if(q[i++]==',')
     p=NULL;
    else
    {
        p=(struct node *)malloc(sizeof(struct node));
        p->data=q[i-1];
        p->l=creat(p->l);
        p->r=creat(p->r);
    }
    return p;
}
int zhongxu(struct node *p)
{
    if(p)
    {
        zhongxu(p->l);
        printf("%c",p->data);
        zhongxu(p->r);
    }
    return 0;
}


int houxu(struct node *p)
{
    if(p)
    {
        houxu(p->l);
        houxu(p->r);
        printf("%c",p->data);
    }
    return 0;
}
int main()
{


   while(scanf("%s",q)!=EOF)
    {i=0;
        struct node *head;
        head = (struct node *)malloc(sizeof(struct node));
        head = creat(head);
        zhongxu(head);
       printf("\n");
       houxu(head);
        printf("\n");
    }
    return 0;
}

相关文章推荐

二叉树遍历的通用非递归算法.pdf

  • 2007年12月12日 23:01
  • 403KB
  • 下载

二叉树遍历源代码

  • 2015年06月21日 13:05
  • 1KB
  • 下载

二叉树遍历(递归与迭代)

二叉树遍历算法分为前序(PreOredr),中序(InOrder),后序(PostOrder)遍历。并且可以设计递归型或者迭代型算法。         本文二叉树定义为: struct Binary...

二叉树遍历——前中后序

  • 2016年07月18日 09:38
  • 906KB
  • 下载

二叉树遍历序列还原

  • 2016年01月29日 23:47
  • 2KB
  • 下载

二叉树遍历之morris traversal

刚开始接触到这个是因为算法导论习题10.4-5,其中有一句话说不能改变二叉树结构,即使临时改变也不行,个人就感觉改变二叉树结构也可以进行遍历。 搜索的过程中发现了morris 遍历,刚开始根...
  • wdq347
  • wdq347
  • 2013年04月26日 11:40
  • 5353

二叉树遍历前序非递归算法

  • 2015年06月09日 16:00
  • 2KB
  • 下载

二叉树遍历(数据结构课程使用)

  • 2011年07月09日 21:32
  • 176KB
  • 下载

二叉树遍历、插入、删除等常见操作

1.二叉查找树的创建 2.二叉查找树清空 3.二叉查找树查询 4.查找最大值、最小值 5.二叉查找树插入操作 6.二叉查找树的删除操作 7.分别使用非递归和递归方式(部分用多种方式)实现树的先序遍历、...

二叉树遍历输出

  • 2012年04月03日 10:35
  • 2KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:二叉树遍历
举报原因:
原因补充:

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