首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列程序说明和C程序,把应填入其中(n)处的字句,写在对应栏内。 【程序说明】 已知某二叉树的前序遍历和中序遍历序列,可以得到该二叉树的结构。本程序实现了根据这两个遍历序列生成一棵链接表示的二叉树。 构造二叉树的算法要点是:由前序遍历序
阅读下列程序说明和C程序,把应填入其中(n)处的字句,写在对应栏内。 【程序说明】 已知某二叉树的前序遍历和中序遍历序列,可以得到该二叉树的结构。本程序实现了根据这两个遍历序列生成一棵链接表示的二叉树。 构造二叉树的算法要点是:由前序遍历序
admin
2009-05-15
39
问题
阅读下列程序说明和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
程序员上午基础知识考试
软考初级
相关试题推荐
请根据表11-1中的选项,把(1)~(5)填写完整。在Linux系统中有如下3个语句,请分别说出他们所执行的任务名称。(1)/etc/rc.d/init.d/dhcpdstart(2)/etc/rc.d/init.d/dhcpdst
请根据图6-15网页的显示效果,解释该ASP程序中用下画线标出的语句的含义,即填写(1)、(3)、(4)、(6)、(10)空缺处的解释内容。请根据图6-15网页的显示效果,将ASP程序中(2)、(5)、(7)、(8)、(9)空缺处的代码补充完整。
阅读以下说明,回答下列问题,将解答填入答题纸对应的解答栏内。【说明】某论坛的首页及留言页面如图5—1、图5—2所示。请根据图5—1和图5—2补充完成下面留言页面的代码:……<TABLEwidt
阅读以下说明,回答以下问题,将解答填入答题纸对应的解答栏内。【说明】某企业网络拓扑结构如图2.1所示,通过WindowsServer2003系统搭建了Web、DNS、DHCP和邮件服务器(为内网用户提供服务),其中DHCP服务器分配的地址范围如图2.
关系数据库是(20)的集合,它由一个或多个关系模式定义。SQL语言中的数据定义功能包括对数据库、基本表、(21)和(22)的定义。设有关系Students(学号,姓名,年龄,性别,系名),如果要查询姓名至少包含5个字母,且倒数第二个字母为“G”的学生的学
作业J1,J2,J3,J4的提交时间和运行时间如下表所示。若采用短作业优先调度算法,则作业调度次序为(18),平均周转时间为(19)分钟(这里不考虑操作系统的开销)。
Windows系统安装时生成的Documents and Settings、Winnt和System32文件夹是不能随意更改的,因为它们是(16)。在Windows文件系统中,(17)是一个合法的文件名;(18)不是合法的可执行文件的扩展名。
Spyware and other forms of malware are the biggest online threat to your computer’s(71)nowadays. These malicious(72)which get to
由6个字符的7位ASCII编码排列,再加上水平垂直奇偶校验位构成下列矩阵(最后一列为水平奇偶校验位,最后一行为垂直奇偶校验位)。字符: 则X1X2X3X4处的比特
IPv6是下一代IP协议,其基本报头中的(70)字段指明了一个特定的信源向某个特定信宿发送的分组序列,各个中间路由器要对该分组序列进行特殊处理以满足应用程序的特殊传输需求。
随机试题
--Haveyourstudentseverseenthesilentfilm?--No,theyaretooyoung______theoldfilm.
采用Ogawa-Barnett法检测琥珀酸脱氢酶的活性部位呈
A、单臂卡环B、双臂卡环C、间隙卡环D、Ⅰ杆卡环E、T形卡环与基牙接触面积最小的卡环是
财务顾问主办人应满足最近()个月未因执业行为违法违规受到处罚。
负责我国支付结算的管理和服务的机构是( )。
2017年3月,我国自主研发的()号水下滑翔机在马里亚纳海沟挑战者深渊,完成大深度下潜观测任务并安全回收,最大下潜深度达到6329米,刷新了水下滑翔机最大下潜深度的世界纪录。
以下不属于马丁.路德思想的是()
在CPU的状态寄存器中,若符号标志为“1”,表示运算结果是()。
数据库是在计算机系统中按照一定的数据模型组织、存储和应用的
Thefirsttimecouldhavebeenchalkeduptocharmingidiosyncrasy.Thesecondseemedlikeanefforttobringsomelevitytoac
最新回复
(
0
)