首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列程序说明和C程序,把应填入其中(n)处的字句,写在对应栏内。 【程序说明】 已知某二叉树的前序遍历和中序遍历序列,可以得到该二叉树的结构。本程序实现了根据这两个遍历序列生成一棵链接表示的二叉树。 构造二叉树的算法要点是:由前序遍历序
阅读下列程序说明和C程序,把应填入其中(n)处的字句,写在对应栏内。 【程序说明】 已知某二叉树的前序遍历和中序遍历序列,可以得到该二叉树的结构。本程序实现了根据这两个遍历序列生成一棵链接表示的二叉树。 构造二叉树的算法要点是:由前序遍历序
admin
2009-05-15
55
问题
阅读下列程序说明和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);
}
选项
答案
(3)rpos-ipos
解析
相减得到左子树的结点数。
转载请注明原文地址:https://www.kaotiyun.com/show/3ujZ777K
本试题收录于:
程序员上午基础知识考试题库软考初级分类
0
程序员上午基础知识考试
软考初级
相关试题推荐
DNS是应用最广泛的主机名和IP地址的转换机制,它使用(1)来处理网络中成千上万个主机和IP地址的转换。在Linux中,DNS是由BIND软件来实现的。BIND是一个(2)系统,其中的resolver程序负责产生域名信息的查询,一个称为(3)的守护进程负责
从图13-1可以看出,代理服务器将网络分成哪两部分?以下是LAN上的客户机希望访问Internet时的工作过程,但顺序已乱,请重新排序。(1)Web服务器将文件传给WinGate服务器(2)WinGate服务器解释这个请求,如果这个请求
在Linux下安装sendmail服务,sendmail服务程序需要读取一些配置文件,以下是sendmail的几个配置文件的主要内容。[/etc/sendmail.cf文件片断]CwlocalhostFw/etc/mail/loca
阅读以下说明,回答问题。[说明]在一台计算机上安装完成WindowsServer2003服务器及相应的服务组件。如果希望在该服务器上D盘(卷)中实现磁盘配额功能,则该卷必须是什么样的文件系统?
阅读以下说明,回答下列问题,将解答填入答题纸对应的解答栏内。【说明】某单位使用IIS建立了自己的FTP服务器,图2—1是IIS中“默认FTP站点属性”的配置界面。如果服务器上配置了两个FTP站点,如图2—4所示,为使这两个
阅读下列说明,回答问题1和问题2,将解答填入答题纸的对应栏内。【说明】某公司用ASP+Access数据库开发了学生管理系统,用户登录界面如图4一1所示:下面是该系统用户登录界面login.asp的部分代码,其中验证码使用vericode.asp文
关系数据库是(20)的集合,它由一个或多个关系模式定义。SQL语言中的数据定义功能包括对数据库、基本表、(21)和(22)的定义。设有关系Students(学号,姓名,年龄,性别,系名),如果要查询姓名至少包含5个字母,且倒数第二个字母为“G”的学生的学
A(66)computer is a personal computer whose hardware is capable of using any or all 0f the following media in a program:audio,tex
设机罪码的长度为8位,已知X、Z为带符号的纯整数,Y为带符号的纯小数,[X]原+[Y]补+[Z]移=11111111,求出X、Y、Z的十进制真值为:X=(16),Y=(17),Z=(18)。
由6个字符的7位ASCII编码排列,再加上水平垂直奇偶校验位构成下列矩阵(最后一列为水平奇偶校验位,最后一行为垂直奇偶校验位)。字符: 则X1X2X3X4处的比特
随机试题
国家编制土地利用总体规划,规定土地用途,将土地分为()。
男性,50岁,下腹隐痛不适,偶有粘液血便,按慢性结肠炎治疗效果不佳,前来就诊,你认为首选的检查方法是
心脏危险指数中,预示麻醉危险性最大
对建设工程定额分类说法正确的是()。
戒严视涉及地区的大小,分别由全国人大常委会或国务院或公安部作出决定。()
在客观上宣告了“文化大革命”的理论和实践失败的是()。
“闽”是_____结构。
接入技术的“数字会聚”主要是指( )
关于函数返回值,以下叙述正确的是()。
手写板或鼠标属于
最新回复
(
0
)