第十周项目一 2
- 烟台大学计算机学院
- 作者:王雪行
- 问题描述:二叉树构造算法的验证
- 输入描述:无
- 输出描述:知先序中序构造二叉树结果
- 用到btree2.h算法库
- */
- #include <stdio.h>
- #include <malloc.h>
- #include "../btree2.h"
- BTNode *CreateBT1(char *pre,char *in,int n)
- {
- BTNode *s;
- char *p;
- int k;
- if (n<=0) return NULL;
- s=(BTNode *)malloc(sizeof(BTNode)); //创建二叉树结点*s
- s->data=*pre;
- for (p=in; p<in+n; p++) //在中序序列中找等于*ppos的位置k
- if (*p==*pre) //pre指向根结点
- break; //在in中找到后退出循环
- k=p-in; //确定根结点在in中的位置
- s->lchild=CreateBT1(pre+1,in,k); //递归构造左子树
- s->rchild=CreateBT1(pre+k+1,p+1,n-k-1); //递归构造右子树
- return s;
- }
- int main()
- {
- ElemType pre[]="ABDGCEF",in[]="DGBAECF";
- BTNode *p;
- p=CreateBT1(pre,in,7);
- DispBTNode(p);
- }
运行结果:
相关推荐
- Course 2 - 改善深层神经网络 - 第一周作业(1&2&3) - 1.3梯度校验
- 一周上涨10倍,Compound为何成为最值得投资得Defi项目?
- 20172315 2017-2018-2 《程序设计与数据结构》第十周学习总结
- 一周搞定Cocos creator(cocos creator 入门篇) 7 - 官方消灭星星代码分析(2)
- 一周快讯:2G正式关闭,500万用户将无法进行通话
- 一周焦点 | 李彦宏:如果谷歌回来,有信心再赢一次;GitHub深度学习开源项目Top200...
- 项目一。2
- 一周焦点 | Dota2团战击溃AI;不如跳舞!伯克利最新人体动作迁移研究
- 12周(一) 2.编写Animal接口
- 24小时全球交易TOP3,2周总流水780ETH,复盘新年第一款国产区块链游戏
- 三相异步电动机——双向运行控制回路
- 18.03.01,web学习第六十六天,lucene