首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列程序说明和C程序,把应填入其中(n)处的字句,写在对应栏内。 【程序说明】 已知某二叉树的前序遍历和中序遍历序列,可以得到该二叉树的结构。本程序实现了根据这两个遍历序列生成一棵链接表示的二叉树。 构造二叉树的算法要点是:由前序遍历序
阅读下列程序说明和C程序,把应填入其中(n)处的字句,写在对应栏内。 【程序说明】 已知某二叉树的前序遍历和中序遍历序列,可以得到该二叉树的结构。本程序实现了根据这两个遍历序列生成一棵链接表示的二叉树。 构造二叉树的算法要点是:由前序遍历序
admin
2009-05-15
71
问题
阅读下列程序说明和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
程序员上午基础知识考试
软考初级
相关试题推荐
阅读以下说明,回答下列问题,将解答填入答题纸对应的解答栏内。【说明】某网站采用ASP+SOLServer开发,系统的数据库名为gldb,数据库服务器IP地址为202.12.34.1。打开该网站主页,如图5-1所示。以下是该网站进行数据
阅读以下说明,回答问题。【说明】某公司局域网拓扑图如图3一1所示,其中Sl为三层交换机,S2和S3为二层交换机。由于业务扩展,需在S2上创建vlan30,管理员在S2上使用了如下命令:S2(config)#vlan30V
阅读以下说明,回答问题1至问题5,将解答填入答题纸对应的解答栏内。【说明】某公司使用ASP开发商务网站,网页制作过程使用了CSS技术,该网站具有商品介绍、会员管理、在线支付和物流管理等功能,采用SQLServer数据库,数据库名称为business,
某网站设计了一个留言系统,能够记录留言者的姓名、IP地址及留言时间。撰写留言页面如图4-1所示,表4-1为利用MicrosoftAccess创建的数据库lyb。图4-2是留言信息显示页面,系统按照ID值从大到小的顺序依次显示留言信息,单击图4-1“
阅读以下说明,回答问题1~问题5,将解答填入对应的答案栏内。【说明】在Linux下安装、配置Apache服务,Apache服务程序h仕pd启动时需要读取配置文件httpd.conf。以下是httpd.conf配置文件的一个片段:
A programmer must know about a function’s(74)to Call it correctly.
假设用12个二进制位表示数据。它能表示的最大无符号整数为(8);若采用原码,它能表示的最小负整数为(9)。
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
Windows2000是一种(56),为了支持网络通信的功能,在它的网络体系中包含了网络API、传输的驱动程序接口(TDI)客户、TDI传送器、NDIS小端口驱动程序和(57),同时,NDIS库也为(58)的使用提供了函数接口。
在使用微软公司的Word 2000办公的时候,为了防止计算机意外死机或者停电带来的麻烦,通常需要使用(1)命令设置文档的自动保存功能;在复制了文档后,需要快速的粘贴复制的内容,通常使用快捷键(2);在Word文档录入完毕的时,突然发现把所有“千古”误写为“
随机试题
中华苏维埃共和国实行()
工程测量中,一般采用激光铅直仪的精度是()。
下列关于会计年度的表述正确的有()。
2007年1月5日甲公司召开董事会并作出相关的决议,此次董事会的决议内容违反了公司章程,那么公司股东应当自决议作出之日起()内,请求人民法院撤销。
行为描述面试的假设前提包括()。
注意事项1.本题本由给定资料与作答要求两部分构成。考试时限为150分钟。其中,阅读给定资料参考时限为40分钟,作答参考时限为110分钟。满分100分。2.监考人员宣布考试开始时。你才可以开始答题。3.请在题本、答题卡指定位置填写自己的姓名,填涂准考证
当一国货币汇率升值时,下述哪种情况会发生()。
唐玄宗时又在宫廷禁苑里选择了______作为教练宫廷歌舞艺人的场所,因此后世称______为“梨园”,称______为“梨园弟子”,奉唐玄宗为______。
A、Becausehecouldn’tmaketimeforit.B、Becausehewasnotinthemoodforit.C、Becausehewentfloatingwithsomeotherstud
A、Hedoesn’tenjoybusinesstripsasmuchasheusedto.B、Hedoesn’tthinkheiscapableofdoingthejob.C、Hethinksthepay
最新回复
(
0
)