对下面所给二叉树,写出其先序、中序和二叉树后序遍历序列列

给定二叉树的先序遍历和中序遍历,输出它的后序遍历序列_Linux编程_Linux公社-Linux系统门户网站
你好,游客
给定二叉树的先序遍历和中序遍历,输出它的后序遍历序列
来源:Linux社区&
作者:buxizhizhou
给定二叉树的先序遍历和中序遍历,输出它的后序遍历序列。
这里没再用到先申请大Node数组的方法了,想练练写动态内存分配和释放的,一次OK了,也没怎么出错啊,开心~
方法二 - Code:
//给出一个二叉树的先序遍历和中序遍历,输出它的后序遍历//直接构造的方法白书已给出。这里是先递归构造二叉树,然后进行后序遍历。 #include&stdio.h&#include&string.h& #include&stdlib.h&#define MAXN 1000
typedef struct node{&&struct node *left,*& & & & }N
void postorder(Node *root);Node* build(int n,char *s1,char *s2);Node* newNode();void remove_tree(Node* root);
char s1[MAXN],s2[MAXN];
int main(){&while(scanf("%s%s",s1,s2)==2)&{& int n=strlen(s1);& Node *root=build(n,s1,s2);& postorder(root);& &
& printf("\n");& & & & & & & & & & & & & remove_tree(root);&}&
void postorder(Node *root){&if(root==NULL)&postorder(root-&left);&postorder(root-&right);&printf("%c",root-&data);}
Node* build(int n,char *s1,char *s2){&if(n&=0) return NULL;&Node *r=newNode();&r-&data=s1[0];&int p=strchr(s2,s1[0])-s2;&r-&left=build(p,s1+1,s2);&r-&right=build(n-1-p,s1+1+p,s2+p+1);&& &
Node* newNode(){&Node* u=(Node*)malloc(sizeof(Node));&if(u!=NULL)&{& u-&data=0;& u-&left=u-&right=NULL;& & & & & &}& &
void remove_tree(Node* root){&if(root!=NULL)&{& remove_tree(root-&left);& remove_tree(root-&right);& free(root);& & & & & &
方法一 - Code:
#include&stdio.h&#include&string.h&#define MAXN 256
void build(int n,char *s1,char *s2,char *s);
int main(){&char s1[MAXN],s2[MAXN],ans[MAXN];&while(scanf("%s%s",s1,s2)==2)&{& int n=strlen(s1);& build(n,s1,s2,ans);& & & & & & & ans[n]='\0';& printf("%s\n",ans);& & & & & & & & &}&
&return 0;}
void build(int n,char *s1,char *s2,char *s){&if(n&=0)&int p=strchr(s2,s1[0])-s2;&build(p,s1+1,s2,s);&build(n-p-1,s1+p+1,s2+p+1,s+p);&s[n-1]=s1[0];& & }
二叉树的常见问题及其解决程序
【递归】二叉树的先序建立及遍历
在JAVA中实现的二叉树结构
【非递归】二叉树的建立及遍历
二叉树递归实现与二重指针
二叉树先序中序非递归算法
轻松搞定面试中的二叉树题目
本文永久更新链接地址:
相关资讯 & & &
& (05月24日)
& (05月22日)
& (昨 15:18)
& (05月24日)
& (03月13日)
图片资讯 & & &
   同意评论声明
   发表
尊重网上道德,遵守中华人民共和国的各项有关法律法规
承担一切因您的行为而直接或间接导致的民事或刑事法律责任
本站管理人员有权保留或删除其管辖留言中的任意内容
本站有权在网站内转载或引用您的评论
参与本评论即表明您已经阅读并接受上述条款君,已阅读到文档的结尾了呢~~
第6章树和二叉树,二叉树第k层,..
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
第6章树和二叉树
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口第5章+树与二叉树习题解析(答)_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
第5章+树与二叉树习题解析(答)
上传于||暂无简介
阅读已结束,如果下载本文需要使用0下载券
想免费下载更多文档?
下载文档到电脑,查找使用更方便
还剩4页未读,继续阅读
你可能喜欢> 问题详情
已知一个二叉树的先序遍历序列为①、②、③、④、⑤,中序遍历序列为②、①、④、③、⑤,则该二叉树的后序遍历序列为
悬赏:0&答案豆
提问人:匿名网友
发布时间:
已知一个二叉树的先序遍历序列为①、②、③、④、⑤,中序遍历序列为②、①、④、③、⑤,则该二叉树的后序遍历序列为( )。对于任意一棵二叉树,叙述错误的是( )。A.②、③、①、⑤、④B.①、②、③、④、⑤C.②、④、⑤、③、①D.④、⑤、③、②、①
权威推荐: & &
网友回答(共0条)
我有更好的答案
您可能感兴趣的试题
1(54)A.由其后序遍历序列和中序遍历序列可以构造该二叉树的先序遍历序列B.由其先序遍历序列和后序遍历序列可以构造该二叉树的中序遍历序列C.由其层序遍历序列和中序遍历序列可以构造该二叉树的先序遍历序列D.由其层序遍历序列和中序遍历序列不能构造该二叉树的后序遍历序列2以下关于快速排序算法的描述中,错误的是(&)。在快速排序过程中,需要设立基准元素并划分序列来进行排序。若序列由元素{12,25,30,45,52,67,85}构成,则初始排列为(&)时,排序效率最高(令序列的第一个元素为基准元素)。A.快速排序算法是不稳定的排序算法B.快速排序算法在最坏情况下的时间复杂度为0(nlgn)C.快速排序算法是一种分治算法D.当输入数据基本有序时,快速排序算法具有最坏情况下的时间复杂度
相关考试课程
请先输入下方的验证码查看最佳答案
图形验证:
验证码提交中……

我要回帖

更多关于 二叉树的后序遍历 的文章

 

随机推荐