首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列程序说明和C程序,把应填入其中(n)处的字句,写在对应栏内。 【程序说明】 已知某二叉树的前序遍历和中序遍历序列,可以得到该二叉树的结构。本程序实现了根据这两个遍历序列生成一棵链接表示的二叉树。 构造二叉树的算法要点是:由前序遍历序
阅读下列程序说明和C程序,把应填入其中(n)处的字句,写在对应栏内。 【程序说明】 已知某二叉树的前序遍历和中序遍历序列,可以得到该二叉树的结构。本程序实现了根据这两个遍历序列生成一棵链接表示的二叉树。 构造二叉树的算法要点是:由前序遍历序
admin
2009-05-15
29
问题
阅读下列程序说明和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);
}
选项
答案
(1)*ppos或ppos[0]
解析
将新建结点的值初始化为前序遍历的第一个结点,即当前树的根结点。
转载请注明原文地址:https://jikaoti.com/ti/dwW7FFFM
本试题收录于:
程序员上午基础知识考试题库软考初级分类
0
程序员上午基础知识考试
软考初级
相关试题推荐
阅读下列说明,根据网页显示的效果图,回答问题1至问题3。[说明]某咨询公司对外提供行业研究报告,其客户分为银卡、金卡及VIP客户,行业研究报告级别分为A、B和C三类,分别对应VIP、金卡及银卡权限。行业研究报告访问权限定义如下:不同级别用户
阅读以下说明,回答下列问题,将解答填入答题纸对应的解答栏内。【说明】某网站采用ASP+SOLServer开发,系统的数据库名为gldb,数据库服务器IP地址为202.12.34.1。打开该网站主页,如图5-1所示。以下是该网站主页部分
阅读以下说明,回答问题1至问题5,将解答填入答题纸对应的解答栏内。【说明】某公司使用ASP开发商务网站,网页制作过程使用了CSS技术,该网站具有商品介绍、会员管理、在线支付和物流管理等功能,采用SQLServer数据库,数据库名称为business,
阅读以下说明,回答问题1至问题3,将解答填入答题纸对应的解答栏内。【说明】请根据Windows服务器的安装与配置,回答下列问题。【问题2】请参照图2-1、图2-2所示的网络配置回答问题。1.如图2-1所示,配置了两个地址,是为了在一个服务器上
某企业网络拓扑结构如图1-1所示,租用ADSL宽带实现办公上网,配备一台小型路由器,实现ADSL自动拨号和DHCP服务功能,所有内部主机(包括台式机和笔记本)通过路由器实现Internet资源的访问。该网络的IP地址段为192.168.1.0/24,网关为
阅读以下说明,回答问题1~问题3,将解答填入答题纸对应的解答栏内。(2007年11月下午试题三)【说明】应用FTP在两台计算机之间传输文件,一台计算机作为FTP客户端,安装FTP客户端软件(或操作系统自带);另一台作为.FTP服务器,安
(72)is a clickable string or graphic that points to another Web page or document.
Very long,complex expressions in program are difficult to write correctly and difficultto(68).
SNMPv3定义了基于用户的安全模型USM,其中的认证模块结合(62)算法形成认证协议,产生一个96位的报文摘要。
IEEE 802.11定义了无线局域网的两种工作模式,其中的(44)模式是一种点对点连接的网络,不需要无线接入点和有线网络的支持,用无线网卡连接的设备之间可以直接通信。IEEE 802.11的物理层规定了三种传输技术,即红外技术、直接序列扩频(DSSS)和
随机试题
乙肝肝硬化的体征有()
了解骨肿瘤对软组织、软骨的破坏情况,最好选择
(2008年案例分析第79—82题)甲公司与乙公司签订合同,约定由乙公司为甲公司制造、安装一套预氧化炉,并负责预氧化炉的一代,甲公司支付加工费100万元,其中设备交付后支付80万元,安装调试合格后付清剩余加:E费。乙公司如期交付了设备,甲公司支付了80万元
正常C30混凝土的波速范围一般在()。
物流拉动控制的特点是()。
如图,矩形ABCD中,AB=3,BC=4,沿对角线BD将△ABD折起,使A点在平面BCD内的射影落在BC边上,若二面角C-AB-D的平面角大小为θ,则sinθ的值等于()
下列情形违背一物一权原则的是()。
自古以来,读书都是件私密甚至有些孤独的事。但带有上网功能电子书的兴起在很大程度上改变了人们的这种阅读______,使其变得可以______且日益公开化。过去,书商和作者无从知晓一本书读者是翻了前三页还是一口气读完?现在,通过线上电子书商店和阅读器,书商们几
(2018年吉林)户外运动可以促进骨骼的健康,这是因为太阳光中的某种频率的电磁波可以促成维生素D的活化,促进身体吸收食物中钙和磷,从而促进骨骼的生长。这种电磁波是()。
以下是计算两个向量点积的程序段:floatdotproduet(floatx[8],floaty[8]){floatSum=0.0;inti;for(i=0,i
最新回复
(
0
)