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 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:【转载】排列组合公式原理
下一篇:二分求幂 A的B次方

发表评论

最新留言

能坚持,总会有不一样的收获!
[***.219.124.196]2024年02月28日 07时22分41秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

php语言冒泡法,PHP 冒泡排序法 2019-04-21
php如何数组去重复,PHP如何去除数组重复元素? 2019-04-21
java转换ab的值,查看新闻/公告--[整理]Java将AB1234形式的16进制字符串转换为10进制数值,考虑字节序的影响.... 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
linux vim编辑kconfig 无法wq,Linux-4.9.2内核在mini2440上的移植(三)——编译环境测试... 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
iphone通讯录 android,3个方法,教你如何快速而又有效的将联系人从iPhone转移到安卓... 2019-04-21
android horizontalscrollview 滑动事件,ScrollView的滑动监听(以HorizontalScrollView为例) 2019-04-21
win7自定义html为桌面,Win7系统自定义桌面主题的方法 2019-04-21
单系统 台电x80pro_台电x80 pro (ID:E3E6)安装remix OS系统教程整理 2019-04-21
linux存储pdf伟岸_python的reportlab库介绍、制作pdf和作图 2019-04-21
安徽信息技术初中会考上机考试模拟_2020年中小学寒假、考试时间定下了! 2019-04-21
ubuntu 退出anaconda环境_从零开始深度学习第15讲:ubuntu16.04 下深度学习开发环境搭建与配置... 2019-04-21