首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列程序说明和C程序,把应填入其中(n)处的字句,写在对应栏内。 【程序说明】 已知某二叉树的前序遍历和中序遍历序列,可以得到该二叉树的结构。本程序实现了根据这两个遍历序列生成一棵链接表示的二叉树。 构造二叉树的算法要点是:由前序遍历序
阅读下列程序说明和C程序,把应填入其中(n)处的字句,写在对应栏内。 【程序说明】 已知某二叉树的前序遍历和中序遍历序列,可以得到该二叉树的结构。本程序实现了根据这两个遍历序列生成一棵链接表示的二叉树。 构造二叉树的算法要点是:由前序遍历序
admin
2009-05-15
74
问题
阅读下列程序说明和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
程序员上午基础知识考试
软考初级
相关试题推荐
阅读下列说明,根据网页显示的效果图,回答问题1至问题3。[说明]某咨询公司对外提供行业研究报告,其客户分为银卡、金卡及VIP客户,行业研究报告级别分为A、B和C三类,分别对应VIP、金卡及银卡权限。行业研究报告访问权限定义如下:不同级别用户
阅读以下说明,回答问题1至问题5,将解答填入答题纸对应的解答栏内。【说明】某公司使用ASP开发商务网站,网页制作过程使用了CSS技术,该网站具有商品介绍、会员管理、在线支付和物流管理等功能,采用SQLServer数据库,数据库名称为business,
阅读以下说明,回答问题1~问题5,将解答填入对应的答案栏内。【说明】在Linux下安装、配置Apache服务,Apache服务程序h仕pd启动时需要读取配置文件httpd.conf。以下是httpd.conf配置文件的一个片段:
Very long,complex expressions in program are difficult to write correctly and difficultto(68).
假设用12个二进制位表示数据。它能表示的最大无符号整数为(8);若采用原码,它能表示的最小负整数为(9)。
使用常用文字编辑工具编辑正文时,为改变该文档的文件名,常选用(1)命令;在“打印预览”方式下,单击“(2)”按钮可返回编辑文件:将正文中所有“Computer”改写为“计算机”,常选用(3)命令。
在下列存储管理方案中,(16)是解决内存碎片问题的有效方法。虚拟存储器主要由(17)组成。
某计算机字长16位,若采用定点补码整数表示数值,最高1位为符号位,其他15位为数值部分,则所能表示的最小整数为(8),最大负数为(9)。
使用Word时,若要创建每页都相同的页脚,则可以通过(14)按钮,切换到页脚区域,然后输入文本或图形。要将D盘中当前正在编辑的Wang1.doc文档复制到U盘中,应当使用(15)。
(74)is nonprogram text embedded in a program to explain its form and function to human readers.
随机试题
以下口腔恶性肿瘤中最易发生颈淋巴结转移的是
[2003年第13题]下列产品的单价(元/台),哪一种最贵?
根据《首批重点监管的危险化学品名录》中,标准状况下是一种易燃的酸性气体,无色,低浓度时有臭鸡蛋气味,浓度极低时便有硫黄味,有剧毒的气体是()。
下列项目属于借款费用的有()。
下列对格式条款合同的理解中,错误的是()。
河北雄安新区地处京津冀腹地,目前我国正着力将其打造成一个紧密联系、有机协同的城市建设典范。它对于集中疏解北京非首都功能,探索人口经济密集地区优化开发新模式,调整优化京津冀城市布局和空间结构,培育创新驱动发展新引擎,具有重大的现实意义和深远的历史意义。建设雄
根据以下资料,回答下列问题。2010年安徽六大主导产业产值13376亿元,比2005年增加10248.9亿元,“十一五”年均增速达33.7%。2011年,六大主导产业产值18395.2亿元,比上年增加5019.2亿元,占全省规模以上工业产值的比
0,1,2,5,12,()。
A工程队的效率是B工程队的2倍,某工程交给两队共同完成需要6天。如果两队的工作效率均提高一倍,且B队中途休息了1天,问要保证工程按原来的时间完成,A队中途最多可以休息几天?
面向对象方法中,继承是指
最新回复
(
0
)