首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列程序说明和C程序,把应填入其中(n)处的字句,写在对应栏内。 【程序说明】 已知某二叉树的前序遍历和中序遍历序列,可以得到该二叉树的结构。本程序实现了根据这两个遍历序列生成一棵链接表示的二叉树。 构造二叉树的算法要点是:由前序遍历序
阅读下列程序说明和C程序,把应填入其中(n)处的字句,写在对应栏内。 【程序说明】 已知某二叉树的前序遍历和中序遍历序列,可以得到该二叉树的结构。本程序实现了根据这两个遍历序列生成一棵链接表示的二叉树。 构造二叉树的算法要点是:由前序遍历序
admin
2009-05-15
62
问题
阅读下列程序说明和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);
}
选项
答案
(4)ipos或rpos-k
解析
这里对左子树进行递归调用方法restore,左子树的中序遍历序列从ipos开始。
转载请注明原文地址:https://kaotiyun.com/show/CujZ777K
本试题收录于:
程序员上午基础知识考试题库软考初级分类
0
程序员上午基础知识考试
软考初级
相关试题推荐
请根据图6-15网页的显示效果,解释该ASP程序中用下画线标出的语句的含义,即填写(1)、(3)、(4)、(6)、(10)空缺处的解释内容。请根据图6-15网页的显示效果,将ASP程序中(2)、(5)、(7)、(8)、(9)空缺处的代码补充完整。
阅读以下网站建设的说明,结合网页显示的效莱图,根据要求回答问题。[说明]某出版社图书搜索网页是使用ASP语言实现的,其文件名为“index01.asp”。用IE浏览器打开该网页后,其部分显示效果如图6~14所示。[index
在Linux下安装sendmail服务,sendmail服务程序需要读取一些配置文件,以下是sendmail的几个配置文件的主要内容。[/etc/sendmail.cf文件片断]CwlocalhostFw/etc/mail/loca
阅读以下说明,回答下列问题,将解答填入答题纸对应的解答栏内。【说明】某单位网络结构如图2—1所示,该公司设有DNS服务器和Web服务器。网站信息如表2—1所示,要求用户能够通过在浏览器地址栏中输入https://ww
阅读以下说明,回答下列问题,将解答填入答题纸对应的解答栏内。【说明】某公司网络有200台主机、一台WebSever和一台MailSever。为了保障网络安全,安装了一款防火墙,其网络结构如图4-1所示,防火墙上配置NAT转换规则如表4-1所示。
阅读以下说明,回答问题。【说明】某单位网络拓扑结构如图2一1所示,FTP服务器的域名为xhftp.SoftwareExam.com。在DNS服务器中为FTP服务器配置域名记录时,新建主机如图2一4所示。在图2一4所示的对话框中
阅读以下说明,回答问题1至问题6,将解答填入答题纸对应的解答栏内。(2008年11月下午试题二)【说明】某公司有人力资源部和销售部两个部门,各有26台主机序需接入Internet。其中销售部同时在线用户数通常小于15。ISP为公司分配
关系数据库是(20)的集合,它由一个或多个关系模式定义。SQL语言中的数据定义功能包括对数据库、基本表、(21)和(22)的定义。设有关系Students(学号,姓名,年龄,性别,系名),如果要查询姓名至少包含5个字母,且倒数第二个字母为“G”的学生的学
某商场的部门和商品两个实体之间的关系如下图所示。假设每个部门负责销售若干种商品,每种商品只能由一个部门负责销售,那么部门和商品之间存在着(14)的联系。
(3)是Excel工作簿的最小组成单位。若用户需要对某个Excel工作表的A1: G1的区域快速填充星期一、星期二、……、星期日,可以采用的方法是在A1单元格填入“星期一”并(4)拖动填充柄至G1单元格。
随机试题
日本分权化改革的内容是:
窦房结能成为心脏正常起搏点的原因是()
下列哪种情况应及早手术
女,26岁。结婚3年未孕,月经周期素来规则而正常,做官颈黏液涂片检查,见大量椭圆形结晶,判断此时应为月经周期的第几天()
在实际进度与计划进度的比较方法中,常用的方法有()比较法。
水工建筑物的表层垂直位移观测宜采用的测量方法有()。
直播国际电话的拨号顺序是()。
请阅读下列材料,并按要求作答。请根据上述材料完成下列任务:若指导五年级学生学习本课,试拟定教学目标及教学重难点。
某矿井发生透水事故,且矿井内每分钟涌出的水量相等,救援人员调来抽水机抽水,如果用两台抽水机抽水,预计40分钟可抽完,如果用4台同样的抽水机,16分钟可抽完。为赢得救援时间,要在10分钟内抽完矿井内的水,那么至少需要抽水机()。
实体是信息世界中广泛使用的一个术语,它用于表示
最新回复
(
0
)