博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
习题6-3 UVa536 Tree Recovery(树的遍历转换)
阅读量:6314 次
发布时间:2019-06-22

本文共 799 字,大约阅读时间需要 2 分钟。

题意:

给出先序和中序求后序

要点:

递归完成,只要注意一下边界就可以了,水题

#include
#include
#include
char s1[30], s2[30];char tree[30];int count;void build(int l1, int r1,int l2,int r2){ if (l1 > r1) return; //空树 int p = l2; while (s2[p] != s1[l1]) p++; build(l1+1, l1 + p-l2,l2,p-1); build(l1+p-l2+1,r1,p+1,r2); tree[count++] = s1[l1];//后序直接放后面就行了}int main(){ while (scanf("%s", s1) != EOF) { scanf("%s", s2); int len = strlen(s1); count = 0; build(0, len- 1, 0,len-1); for (int i = 0; i

这里有一种非常精妙的算法:

利用一个全局变量n=-1,我们会发现n的值每次++后在递归过程中正好与先序遍历的根节点相同,所以可以很简单的写出程序。

#include
#include
#include
char pre[100], in[100];int n;void tranverse(int left,int right){ int i, temp; if (right

转载于:https://www.cnblogs.com/seasonal/p/10343834.html

你可能感兴趣的文章
“区块链”并没有什么特别之处
查看>>
没有功能需求设计文档?对不起,拒绝开发!
查看>>
4星|《先发影响力》:影响与反影响相关的有趣的心理学研究综述
查看>>
IE8调用window.open导出EXCEL文件题目
查看>>
python之 列表常用方法
查看>>
vue-cli脚手架的搭建
查看>>
在网页中加入百度搜索框实例代码
查看>>
在Flex中动态设置icon属性
查看>>
采集音频和摄像头视频并实时H264编码及AAC编码
查看>>
3星|《三联生活周刊》2017年39期:英国皇家助产士学会于2017年5月悄悄修改了政策,不再鼓励孕妇自然分娩了...
查看>>
高级Linux工程师常用软件清单
查看>>
堆排序算法
查看>>
folders.cgi占用系统大量资源
查看>>
路由器ospf动态路由配置
查看>>
zabbix监控安装与配置
查看>>
python 异常
查看>>
last_insert_id()获取mysql最后一条记录ID
查看>>
可执行程序找不到lib库地址的处理方法
查看>>
bash数组
查看>>
Richard M. Stallman 给《自由开源软件本地化》写的前言
查看>>