C++ 由前序和中序重建二叉树
发布日期:2021-07-22 07:28:50
浏览次数:13
分类:技术文章
本文共 701 字,大约阅读时间需要 2 分钟。
struct Node { //树节点结构体 Node* lchild; Node* rchild; int val;}Tree[50]; //静态内存分配数组int loc; //数组中已分配节点个数Node* creat() { //申请一个节点空间 Tree[loc].lchild = Tree[loc].rchild = NULL; return &Tree[loc++]; //返回指针且loc增加}int str1[30], str2[30]; //保存前序和中序结果Node* build(int s1,int e1,int s2, int e2){ //还原树 Node* ret = creat(); //为树根节点申请空间 ret->val = str1[s1]; int rootx; for (int i = s2; i <= e2; i++) { if (str2[i] == str1[s1]) { //查找该根节点字符在中序序列位置 rootx = i; break; } } if (rootx != s2) { ret->lchild = build(s1 + 1, s1 + (rootx - s2), s2, rootx - 1); //递归还原左子树 } if (rootx != e2) { ret->rchild = build(s1 + (rootx - s2) + 1, e1, rootx + 1, e2); //递归还原右子树 } return ret;}
转载地址:https://blog.csdn.net/m0_45689014/article/details/113246056 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
能坚持,总会有不一样的收获!
[***.219.124.196]2024年02月28日 07时22分41秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
php语言冒泡法,PHP 冒泡排序法
2019-04-21
php如何数组去重复,PHP如何去除数组重复元素?
2019-04-21
ui php h5,画出自己的UI组件的详情
2019-04-21
linux服务文件编写,linux编写systemd下服务脚本
2019-04-21
hdfs linux 目录是否存在,Linux中判断hdfs文件是否存在
2019-04-21
linux学习需要什么基础,学linux需要什么基础?
2019-04-21
高斯勒让德在c语言中的程序,c语言:用递归方法编写程序,求n阶勒让德多项式的值...
2019-04-21
c语言单片机电子时钟,新人求个51单片机的电子时钟汇编语言(C语言的还没学到)...
2019-04-21
c++语言文件流,C++文件流
2019-04-21
android 动态毛玻璃,Android毛玻璃背景效果简单实现代码
2019-04-21
android 按钮提示,的Android按钮工具提示
2019-04-21
win7自定义html为桌面,Win7系统自定义桌面主题的方法
2019-04-21
linux存储pdf伟岸_python的reportlab库介绍、制作pdf和作图
2019-04-21
安徽信息技术初中会考上机考试模拟_2020年中小学寒假、考试时间定下了!
2019-04-21