首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列程序说明和C程序,把应填入其中(n)处的字句,写在对应栏内。 【程序说明】 已知某二叉树的前序遍历和中序遍历序列,可以得到该二叉树的结构。本程序实现了根据这两个遍历序列生成一棵链接表示的二叉树。 构造二叉树的算法要点是:由前序遍历序
阅读下列程序说明和C程序,把应填入其中(n)处的字句,写在对应栏内。 【程序说明】 已知某二叉树的前序遍历和中序遍历序列,可以得到该二叉树的结构。本程序实现了根据这两个遍历序列生成一棵链接表示的二叉树。 构造二叉树的算法要点是:由前序遍历序
admin
2009-05-15
50
问题
阅读下列程序说明和C程序,把应填入其中(n)处的字句,写在对应栏内。
【程序说明】
已知某二叉树的前序遍历和中序遍历序列,可以得到该二叉树的结构。本程序实现了根据这两个遍历序列生成一棵链接表示的二叉树。
构造二叉树的算法要点是:由前序遍历序列,该序列的第一个元素是根结点元素。该元素将中序遍历序列分成左、右两部分,那些位于该元素之前的元素是它的左子树上的元素,位于该元素之后的元素是它的右子树上的元素。对于左、右子树,由它们的前序遍历序列的第一个元素可确定左、右子树的根结点,参照中序遍历序列又可进一步确定子树的左、右子树元素。如此递归地参照两个遍历序列,最终构造出二叉树。
两个遍历序列作为主函数main()的参数。为简单起见,程序假定两个遍历序列是相容的。主函数调用函数restore()建立二叉树。函数restore()以树(子树)的前序遍历和中序遍历两序列及序列长为参数,采用递归方法建立树(子树)。函数postorder()实现二叉树的后序遍历序列输出,用来验证函数restore()建立的二叉树。
【程序】
#include(stdio.h>
#include<stdlib.h>
#define MAX 100
typedef struct node{
char data;
struet node * llink,*rlink;
}TNODE;
charpred[MAX],inod[MAX];
TNODE * restore (Char*,char*,int);
main(int argc,Char* *argv)
{
TNODE * root;
if(argc<3)exit(0);
strcpy(pred,argv[1]);
strcpy(inod,argv[2]);
root=restore(pred,inod,strlen(pred))postorder(root);
printf("\n\n");
}
TNODE * restore(Char * ppos,char * ipos,int n)
{ /*参数包括前序遍历序列数组和中序遍历数组*/
TNODE * ptr;
Char * rpos;
int k;
if(n <=0)return NULL;
ptr= (TNODE *)malloc(sizeof(TNODE));
ptr→data=(1);
for (2) rpos=ipos;rpos <ipos+n;rpos++ )
if(*rpos== * ppos)break;
k =(3);
ptr→llink = restore(ppos+1, (4),k);
ptr→rlink = restore (5) + k,rpos + 1,n-1-k);
return ptr;
}
postorder(TNODE *ptr)
{ if(ptr==NULL)return;
postorder(ptr→llink);
postorder(ptr→rlink);
prinft("%c",ptr→data);
}
选项
答案
(5)ppos+1
解析
这里对右子树进行递归调用方法restore,右子树的前序遍历序列从ppos+1+k开始。
转载请注明原文地址:https://kaotiyun.com/show/RujZ777K
本试题收录于:
程序员上午基础知识考试题库软考初级分类
0
程序员上午基础知识考试
软考初级
相关试题推荐
阅读以下Linux系统中关于IP地址和主机名转换的技术说明,根据要求回答问题1~问题4。【说明】计算机用户通常使用主机名来访问网络中的结点,而采用TCP/IP协议的网络是以IP地址来标记网络结点的,因此需要一种将主机名转换为IP地址的机制。
请根据表11-1中的选项,把(1)~(5)填写完整。在Linux系统中有如下3个语句,请分别说出他们所执行的任务名称。(1)/etc/rc.d/init.d/dhcpdstart(2)/etc/rc.d/init.d/dhcpdst
认真阅读以下网页制作和网页编程的内容,回答问题1~5,将解答填入对应的解答栏内。(1)网页制作[说明]某网络资源站点用JSP实现了一个简单的验证码登录控制,网页效果如右图所示。[login.jsp文档的内容]
阅读以下说明,回答问题1~问题5,将解答填入对应的答案栏内。【说明】在Linux下安装、配置Apache服务,Apache服务程序h仕pd启动时需要读取配置文件httpd.conf。以下是httpd.conf配置文件的一个片段:
(60)不属于我国《计算机信息系统安全保护等级划分准则》规定的计算机系统安全保护能力的五个等级之一。
在下列存储管理方案中,(16)是解决内存碎片问题的有效方法。虚拟存储器主要由(17)组成。
若用8位机器码表示十进制数-101,则原码表示的形式为(8);补码表示的形式为(9)。
Windows系统安装时生成的Documents and Settings、Winnt和System32文件夹是不能随意更改的,因为它们是(16)。在Windows文件系统中,(17)是一个合法的文件名;(18)不是合法的可执行文件的扩展名。
计算机网络拓扑是通过网中结点与通信线路之间的几何关系表示网络中各实体间的(30)。 网络拓扑设计的优劣将直接影响到网络的性能、可靠性与(31)。
通常计算机的存储器是一个由Cache、主存和辅存构成的3级存储系统。辅助存储器一般可由磁盘、磁带和光盘等存储设备组成。Cache和主存一般是一种(5)存储器。在各种辅存中,除了(6)外,大多是便于脱卸和携带的。Cache存储器一般采用(7)半导体芯片,主存
随机试题
Inanycomprehensiontextyouwillfindwordsthatyoudon’tknow,Youcan【C1】______themupinadictionary,ofcourse,【C2】_____
过氧化物酶染色呈阴性的细胞是
最大与最大对策是()。
背景资料某城市市区主要路段的地下两层结构工程,地下水位在坑底以下2.0m。基坑平面尺寸为145m×20m,基坑挖深为12m,围护结构为600mm厚地下连续墙,采用四道Φ609mm钢管支撑,竖向间距分别为3.5m、3.5m和3m。基坑周边环境为:西侧距地下
关于有效市场假说理论,下列论述错误的是( )。
给定资料材料1城镇化的直接表现形式就是农村人口向城镇集中,在此过程中农村人口比重减少,农民成为产业工人或以其他方式成为城市居民,这也是促进产业结构、就业结构以及生产、生活方式等变化的重要因素。产业发展,是城镇化演进的重要基础。
我国农村要长期稳定以家庭承包经营为基础、统分结合的双层经营体制,其关键和基础是()
一30,一4,(),24,122,340。
认为“教育是一种文化过程”的教育家是()
()高息储蓄()授权签名()外币存单()利率
最新回复
(
0
)