首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列程序说明和C程序,把应填入其中(n)处的字句,写在对应栏内。 【程序说明】 已知某二叉树的前序遍历和中序遍历序列,可以得到该二叉树的结构。本程序实现了根据这两个遍历序列生成一棵链接表示的二叉树。 构造二叉树的算法要点是:由前序遍历序
阅读下列程序说明和C程序,把应填入其中(n)处的字句,写在对应栏内。 【程序说明】 已知某二叉树的前序遍历和中序遍历序列,可以得到该二叉树的结构。本程序实现了根据这两个遍历序列生成一棵链接表示的二叉树。 构造二叉树的算法要点是:由前序遍历序
admin
2009-05-15
68
问题
阅读下列程序说明和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
程序员上午基础知识考试
软考初级
相关试题推荐
从图13-1可以看出,代理服务器将网络分成哪两部分?采用代理服务器上网有哪一些优点?
在Linux下安装sendmail服务,sendmail服务程序需要读取一些配置文件,以下是sendmail的几个配置文件的主要内容。[/etc/sendmail.cf文件片断]CwlocalhostFw/etc/mail/loca
下面语句可以防止选取网页内容,请补充完整。<body______>女,何在文件A.html中使用样式表文件csai.css中定义的格式?
某网站设计了一个留言系统,能够记录留言者的姓名、IP地址及留言时间。撰写留言页面如图4-1所示,表4-1为利用MicrosoftAccess创建的数据库lyb。以下是图4-1所示write.asp页面的部分代码,请仔细阅读该段代码,将(1)~(1
阅读以下关于Linux网卡安装和配置过程的说明,回答问题1~问题5,将解答填入答题纸对应的解答栏内。【说明】某个采用动态IP地址分配策略的计算机使用了最新的BCM5751网卡芯片,由于RedHatLinux9操作系统无法自动识别此
在关系代数运算中,若对表1按(15),可以得到表2。
SNMPv3定义了基于用户的安全模型USM,其中的认证模块结合(62)算法形成认证协议,产生一个96位的报文摘要。
Windows2000是一种(56),为了支持网络通信的功能,在它的网络体系中包含了网络API、传输的驱动程序接口(TDI)客户、TDI传送器、NDIS小端口驱动程序和(57),同时,NDIS库也为(58)的使用提供了函数接口。
商业秘密是我国(52)保护的一项重要内容,包括技术秘密和经营秘密两项基本内容。
在Windows命令窗口中输入(1)命令后,得到如下图所示的结果。图中结果表明(2)。(1)
随机试题
论述公司上市的条件。
Ateacher______doeveryexercisebutastudent______.
A、知母B、栀子C、黄芩D、黄连E、生地黄具有降低交感—肾上腺系统机能药理作用的药物是
[1995年第039题]我国现存最古的木塔是:
依据《职业病防治法》的规定,建设项目竣工验收前,应当由()进行职业病危害控制效果评价。
热力管道的连接方式主要有( )。
我国现行法规规定,保险公司的投资对象包括()
战国时期,主持秦国变法的改革家是()。
在一起行政诉讼案件中,对被告进行处罚的依据是国务院某部制定的一个行政规章,原告认为该规章违反了有关法律。根据我国宪法规定,下列哪一机关有权改变或者撤销不适当的规章?
2014年第二届青年奥运会将在南京举行,省团委提出组织一项题为“青年与未来”的活动。你作为某高校的团委负责人,请提出一个参赛方案。
最新回复
(
0
)