首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列程序说明和C程序,把应填入其中(n)处的字句,写在对应栏内。 【程序说明】 已知某二叉树的前序遍历和中序遍历序列,可以得到该二叉树的结构。本程序实现了根据这两个遍历序列生成一棵链接表示的二叉树。 构造二叉树的算法要点是:由前序遍历序
阅读下列程序说明和C程序,把应填入其中(n)处的字句,写在对应栏内。 【程序说明】 已知某二叉树的前序遍历和中序遍历序列,可以得到该二叉树的结构。本程序实现了根据这两个遍历序列生成一棵链接表示的二叉树。 构造二叉树的算法要点是:由前序遍历序
admin
2009-05-15
35
问题
阅读下列程序说明和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);
}
选项
答案
(2)rpos=ipos
解析
让rpos从ipos开始循环递增,直到在中序遍历序列中找到当前树的根结点。
转载请注明原文地址:https://kaotiyun.com/show/tujZ777K
本试题收录于:
程序员上午基础知识考试题库软考初级分类
0
程序员上午基础知识考试
软考初级
相关试题推荐
在Linux下安装sendmail服务,sendmail服务程序需要读取一些配置文件,以下是sendmail的几个配置文件的主要内容。[/etc/sendmail.cf文件片断]CwlocalhostFw/etc/mail/loca
阅读以下说明,回答问题。[说明]在一台计算机上安装完成WindowsServer2003服务器及相应的服务组件。在该服务器上,可以通过IIS来建立哪些应用服务器?(至少写出3个以上)
阅读下列说明,回答以下问题,将解答填入答题纸的对应栏内。【说明】某留言系统采用ASP+Access开发,其后台管理登录页面如图4-1所示。1.在登录页面login.asp中通过导入了bbb.asp的代码,以下是bbb.asp的部分代码,请仔细阅读
阅读以下说明,回答问题。【说明】某公司局域网拓扑图如图3一1所示,其中Sl为三层交换机,S2和S3为二层交换机。管理员为S2做了如下配置,请将其补充完整或解释命令:S2(config)#vtpmode(10);设置为VTP客户端模式
阅读以下说明,回答问题。【说明】某单位网络拓扑结构如图2一1所示,FTP服务器的域名为xhftp.SoftwareExam.com。依据图2一2配置好FTP服务器后,其数据端口为(5)。若尚未配置域名记录,在浏览器中可输入URL(6)来访
阅读以下说明,回答问题1~问题5,将答案填入对应的答案栏内。【说明】在Linux下安装与配置Sendmail服务,Sendmail服务程序需要读取一些配置文件,以下列出了Sendmail的3个配置文件的主要内容。./etc
阅读以下说明,回答问题1至问题4,将解答填入答题纸对应的解答栏内。【说明】某企业组网方案如图1-1所示。对于不经常变动的办公场所,通过限制MAC地址学习,防止黑客伪造大量不同源MAC地址的报文来耗尽设备的MAC地址表项资源。如
(66)means“Any HTML document on an HTTP Server”.
在Excel表处理软件中,(16)是当公式在复制或移动时会根据移动的位置自动调节公式中引用单元格的地址。假设单元格A1、A2、B1和B2内容如下图所示,并在 C1中输入公式“=$A$1+$B$1”,并将公式复制到C2,那么C2的内容为(17)。
通常计算机的存储器是一个由Cache、主存和辅存构成的3级存储系统。辅助存储器一般可由磁盘、磁带和光盘等存储设备组成。Cache和主存一般是一种(11)存储器。在各种辅存中,除了(12)外,大多是便于脱卸和携带的。Cache存储器一般采用(13)半导体芯片
随机试题
赋予总统“强制执行权”和“独裁权”的是()
急性糜烂出血性胃炎的主要诊断依据是()
符合交叉配血技术规范的是下列哪项
甲国人约某在甲国侵吞了乙国某公司大量的资产。为逃避刑事处罚潜逃至丁国,在潜逃中约某曾对丙国船舶实施了海盗行为。设甲、乙、丙、丁四国间无司法协助方面的多边或双边协议,依国际法中有关规则,下列哪项是正确的?()
个人汽车贷款中,第三方保证担保的主要风险是()
2010年度,某企业财务资料显示,2010年开具增值税专用发票取得收入2456万元,另外从事运输服务,收入220万元。收入对应的销售成本和运输成本合计为1746万元,期间费用、税金及附加各为100万元,营业外支出90万元(其中80万为公益性捐赠支出),上年
企业持有的下列各项资产,应作为投资性房地产核算的有()。
我国迄今发现的最早山水画《游春图》的作者是()。
Forseveralyears,Americanshaveenjoyedteleshopping-watchingTVandbuyingthingsbyphone.NowteleshoppingisstartinginE
软件测试的目的是( )。
最新回复
(
0
)