首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列程序说明和C程序,把应填入其中(n)处的字句,写在对应栏内。 【程序说明】 已知某二叉树的前序遍历和中序遍历序列,可以得到该二叉树的结构。本程序实现了根据这两个遍历序列生成一棵链接表示的二叉树。 构造二叉树的算法要点是:由前序遍历序
阅读下列程序说明和C程序,把应填入其中(n)处的字句,写在对应栏内。 【程序说明】 已知某二叉树的前序遍历和中序遍历序列,可以得到该二叉树的结构。本程序实现了根据这两个遍历序列生成一棵链接表示的二叉树。 构造二叉树的算法要点是:由前序遍历序
admin
2009-05-15
49
问题
阅读下列程序说明和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);
}
选项
答案
(5)ppos+1
解析
这里对右子树进行递归调用方法restore,右子树的前序遍历序列从ppos+1+k开始。
转载请注明原文地址:https://kaotiyun.com/show/RujZ777K
本试题收录于:
程序员上午基础知识考试题库软考初级分类
0
程序员上午基础知识考试
软考初级
相关试题推荐
某公司规模扩大,既要考虑保证目前土建装修的效果不被破坏,又要满足网络扩容和企业工作的实际需求,同时还要保证投资不要过大,经过深入分析和研究对比,决定采用无线局域网组网来解决网络扩容的问题,网络拓扑如下图所示。配置完成后,采用什么命令测试该无线网络是否
某公司规模扩大,既要考虑保证目前土建装修的效果不被破坏,又要满足网络扩容和企业工作的实际需求,同时还要保证投资不要过大,经过深入分析和研究对比,决定采用无线局域网组网来解决网络扩容的问题,网络拓扑如下图所示。对PC机或笔记本中无线网卡进行配置时,“e
某公司规模扩大,既要考虑保证目前土建装修的效果不被破坏,又要满足网络扩容和企业工作的实际需求,同时还要保证投资不要过大,经过深入分析和研究对比,决定采用无线局域网组网来解决网络扩容的问题,网络拓扑如下图所示。将(1)处空缺设备的名称填写在相应位置。
阅读以下说明,回答下列问题,将解答填入答题纸对应的解答栏内。【说明】某公司有市场部和财务部两个部门,每个部门各有20台PC,全部接到一个48口交换机上,由一台安装Linux的服务器提供DHCP服务。网络拓扑结构图如图3—1所示。
试题二阅读以下说明,回答【问题1】至【问题4】,将解答填人答题纸对应的解答栏内。【说明】某公司网络拓扑结构如图2-1所示,DNS服务器采用windowsServer2003操作系统,当在本地查找不到域名记录时转向域名服务器
简要回答有关局域网传输媒体的问题。要获得最佳的数据传输安全保密性的传输媒体是哪一种?
关系数据库是(20)的集合,它由一个或多个关系模式定义。SQL语言中的数据定义功能包括对数据库、基本表、(21)和(22)的定义。设有关系Students(学号,姓名,年龄,性别,系名),如果要查询姓名至少包含5个字母,且倒数第二个字母为“G”的学生的学
某计算机字长16位,若采用定点补码整数表示数值,最高1位为符号位,其他15位为数值部分,则所能表示的最小整数为(8),最大负数为(9)。
Windows2000是一种(56),为了支持网络通信的功能,在它的网络体系中包含了网络API、传输的驱动程序接口(TDI)客户、TDI传送器、NDIS小端口驱动程序和(57),同时,NDIS库也为(58)的使用提供了函数接口。
在使用微软公司的Word 2000办公的时候,为了防止计算机意外死机或者停电带来的麻烦,通常需要使用(1)命令设置文档的自动保存功能;在复制了文档后,需要快速的粘贴复制的内容,通常使用快捷键(2);在Word文档录入完毕的时,突然发现把所有“千古”误写为“
随机试题
瑞典Elektaγ-刀装置使用多少个60钴源
简述鼻饲法的注意事项。
细菌的遗传物质是
年轻恒牙硬组织比成年恒牙薄主要是由于
男,70岁。2型糖尿病病史14年,血压升高7年,视物模糊3年,渐进性水肿1年,BP170/95mmHg,尿RBC(-),尿蛋白3.8g/d。最可能的诊断是
甲股份有限公司(以下简称甲公司)为了建造一幢厂房,于2012年12月1日专门从某银行借入专门借款1000万元(假定甲公司向该银行的借款仅此一笔),借款期限为2年,年利率为6%,到期一次支付本金和利息。该厂房采用出包方式建造,与承包方签订的工程合同的总造价为
在对存货实施监盘程序时,注册会计师的以下做法中,正确的是()。
计算机辅助制造的简称为______。
GivingLifeMeaningHaveyouthoughtaboutwhatyouwantpeopletosayaboutyouafteryou’regone?Oneofthestrangestphe
Livinginthedeserthasmanyproblems,_______________________(缺水并不是唯一的问题).
最新回复
(
0
)