首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列程序说明和C程序,把应填入其中(n)处的字句,写在对应栏内。 【程序说明】 已知某二叉树的前序遍历和中序遍历序列,可以得到该二叉树的结构。本程序实现了根据这两个遍历序列生成一棵链接表示的二叉树。 构造二叉树的算法要点是:由前序遍历序
阅读下列程序说明和C程序,把应填入其中(n)处的字句,写在对应栏内。 【程序说明】 已知某二叉树的前序遍历和中序遍历序列,可以得到该二叉树的结构。本程序实现了根据这两个遍历序列生成一棵链接表示的二叉树。 构造二叉树的算法要点是:由前序遍历序
admin
2009-05-15
52
问题
阅读下列程序说明和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
程序员上午基础知识考试
软考初级
相关试题推荐
先阅读以下说明,然后将空白处的语句补充完整。[说明]以下是HTML语言的部分代码,其中,符号“//”表示该行的注释,请根据注释写出其内容。<html><head><bgsound>(1)//表示指向一个与该网页
阅读以下网站建设的说明,结合网页显示的效莱图,根据要求回答问题。[说明]某出版社图书搜索网页是使用ASP语言实现的,其文件名为“index01.asp”。用IE浏览器打开该网页后,其部分显示效果如图6~14所示。[index
在Linux下安装sendmail服务,sendmail服务程序需要读取一些配置文件,以下是sendmail的几个配置文件的主要内容。[/etc/sendmail.cf文件片断]CwlocalhostFw/etc/mail/loca
阅读以下说明,回答下列问题,将解答填入答题纸对应的解答栏内。【说明】某公司有市场部和财务部两个部门,每个部门各有20台PC,全部接到一个48口交换机上,由一台安装Linux的服务器提供DHCP服务。网络拓扑结构图如图3—1所示。
阅读以下说明,回答问题1~问题3,将解答填入答题纸对应的解答栏内。(2007年11月下午试题三)【说明】应用FTP在两台计算机之间传输文件,一台计算机作为FTP客户端,安装FTP客户端软件(或操作系统自带);另一台作为.FTP服务器,安
在关系代数运算中,若对表1按(15),可以得到表2。
使用Word时,若要创建每页都相同的页脚,则可以通过(14)按钮,切换到页脚区域,然后输入文本或图形。要将D盘中当前正在编辑的Wang1.doc文档复制到U盘中,应当使用(15)。
(73)is not a programming language.
为了保障数据的存储和传输安全,需要对一些重要数据进行加密。由于对称密码算法(49),因此特别适合对大量的数据进行加密。
Password is a secret series of(69)that enables a user to access a file, computer, or program. On multi-user systems, each user m
随机试题
给尿毒症患者含必需氨基酸为主的蛋白饮食,主要目的是
A.4hB.6hC.12hD.24hE.48h急性脑出血病人在发病多长时间内禁食
已知所允许的放大率为1.2,则焦点为
死髓牙根尖部牙龈出现瘘管应考虑为
以下关于行政诉讼第三人的说法,正确的是:()
在下列固定资产折旧方法中,折旧率随着使用年限的增加而不断减小的是()。
关于火灾保险的特点,下列说法不正确的是( )。
证券评级机构不得涂改、倒卖、出租、出借证券评级业务许可证,或者以其他形式非法转让证券评级业务许可证。( )
下列书籍中不属于我国古代兵书的是()。
Theworldisplantingavigorousnewcrop:"agro-pessimism",orfearthatmankindwillnotbeabletofeeditselfexceptbywrec
最新回复
(
0
)