首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列程序说明和C程序,把应填入其中(n)处的字句,写在对应栏内。 【程序说明】 已知某二叉树的前序遍历和中序遍历序列,可以得到该二叉树的结构。本程序实现了根据这两个遍历序列生成一棵链接表示的二叉树。 构造二叉树的算法要点是:由前序遍历序
阅读下列程序说明和C程序,把应填入其中(n)处的字句,写在对应栏内。 【程序说明】 已知某二叉树的前序遍历和中序遍历序列,可以得到该二叉树的结构。本程序实现了根据这两个遍历序列生成一棵链接表示的二叉树。 构造二叉树的算法要点是:由前序遍历序
admin
2009-05-15
28
问题
阅读下列程序说明和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
程序员上午基础知识考试
软考初级
相关试题推荐
阅读下列说明,根据网页显示的效果图,回答问题1至问题3。[说明]某咨询公司对外提供行业研究报告,其客户分为银卡、金卡及VIP客户,行业研究报告级别分为A、B和C三类,分别对应VIP、金卡及银卡权限。行业研究报告访问权限定义如下:不同级别用户
阅读以下说明,回答下列问题,将解答填入答题纸对应的解答栏内。【说明】某公司有市场部和财务部两个部门,每个部门各有20台PC,全部接到一个48口交换机上,由一台安装Linux的服务器提供DHCP服务。网络拓扑结构图如图3—1所示。
试题二阅读以下说明,回答【问题1】至【问题4】,将解答填人答题纸对应的解答栏内。【说明】某公司网络拓扑结构如图2-1所示,DNS服务器采用windowsServer2003操作系统,当在本地查找不到域名记录时转向域名服务器
阅读以下说明,回答问题。【说明】某公司局域网拓扑图如图3一1所示,其中Sl为三层交换机,S2和S3为二层交换机。由于业务扩展,需在S2上创建vlan30,管理员在S2上使用了如下命令:S2(config)#vlan30V
阅读以下说明,回答问题。【说明】某公司局域网拓扑图如图3一1所示,其中Sl为三层交换机,S2和S3为二层交换机。管理员为S2做了如下配置,请将其补充完整或解释命令:S2(config)#vtpmode(10);设置为VTP客户端模式
阅读以下说明,回答问题1~问题5,将解答填入对应的答案栏内。【说明】图2.143是某小型公司网络拓扑结构,其中代理服务器的两块网卡的设置已在图中标出。该代理服务器使用基于Linux的Squid代理服务器,下面为该服务器中文件
Very long,complex expressions in program are difficult to write correctly and difficultto(68).
在Windows操作系统中,“回收站”可以恢复(1)上使用<Del>键删除的文件或文件夹。在“我的电脑”窗口中,如果要整理磁盘上的碎片,应选择磁盘“属性”对话框的(2)选项卡。使用“资源管理器”时,(3),不能删除文件或文件夹。
Network(67)has full fights and permissions to all resources on a network.
在Windows资源管理器中,假设已经选定文件,以下关于“复制”操作的叙述中,正确的有(3)。
随机试题
如果一国的国际收支因为本国的通货膨胀率高于他国的通货膨胀率而出现不均衡,则称该国的国际收支不均衡是()。
(2010)设置于建筑内的锅炉房不应与下列哪种房间贴邻?
函数展开成(x一2)的幂级数为()。
建设用地经国务院批准后,由()负责办理建设用地批复文件,批复文件中注明“经国务院批准”字样。
职工参加工伤保险,应由()缴纳工伤保险费。
国务院证券监督管理机构或者国务院授权的部门对已作出的证券发行注册的决定,发现不符合法定条件或者法定程序,下列表述错误的是()。
A.条件(1)充分,但条件(2)不充分。B.条件(2)充分,但条件(1)不充分。C.条件(1)和(2)单独都不充分,但条件(1)和条件(2)联合起来充分。D.条件(1)充分,条件(2)也充分。E.条件(1)和(2)单独都不充分,条件(1)和条件(2
求作一个3阶可逆矩阵P,使得PTAP是对角矩阵.
下列叙述中正确的是()。
Yourimproperwordswillgive______todoubtsconcerningyourtrueintentions.
最新回复
(
0
)