首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列程序说明和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);
}
选项
答案
(2)rpos=ipos
解析
让rpos从ipos开始循环递增,直到在中序遍历序列中找到当前树的根结点。
转载请注明原文地址:https://kaotiyun.com/show/tujZ777K
本试题收录于:
程序员上午基础知识考试题库软考初级分类
0
程序员上午基础知识考试
软考初级
相关试题推荐
阅读以下说明,回答下列问题,将解答填入答题纸对应的解答栏内。【说明】某实验室的网络拓扑结构如图3一1所示,内部网有4个部门,要求相互之间不能通过网上邻居访问,但可以通过IP地址互相访问,SW1为三层交换机。内部网全部使用私有IP地址。现
阅读以下说明,回答下列问题,将解答填入答题纸对应的解答栏内。【说明】某公司网络有200台主机、一台WebSever和一台MailSever。为了保障网络安全,安装了一款防火墙,其网络结构如图4-1所示,防火墙上配置NAT转换规则如表4-1所示。
阅读以下说明,回答问题1至问题5,将解答填入答题纸对应的解答栏内。【说明】某公司使用ASP开发商务网站,网页制作过程使用了CSS技术,该网站具有商品介绍、会员管理、在线支付和物流管理等功能,采用SQLServer数据库,数据库名称为business,
阅读以下说明,回答问题1至问题3,将解答填入答题纸对应的解答栏内。【说明】请根据Windows服务器的安装与配置,回答下列问题。【问题1】1.下列给出了Windows服务器安装步骤,正确的排序为__________(1)。①选择文件系统格式②
阅读下列说明,回答问题1和问题2,将解答填入答题纸的对应栏内。【说明】某公司用ASP+Access数据库开发了学生管理系统,用户登录界面如图4一1所示:下面是该系统用户登录界面login.asp的部分代码,其中验证码使用vericode.asp文
阅读以下说明,回答问题1至问题2,将解答填入答题纸对应的解答栏内。【说明】某学校新生入学后进行信息登记,其登记页面和登记后信息显示页面分别如图4.1和4-2所示。以下是图4.1所示的index.asp页面的部分代码,请仔细阅读该段代码,将(1)~
In(71)programming,the user determines the sequence of instructions to be executed,not the programmer.
Very long,complex expressions in program are difficult to write correctly and difficultto(68).
若用8位机器码表示十进制数-101,则原码表示的形式为(8);补码表示的形式为(9)。
设机罪码的长度为8位,已知X、Z为带符号的纯整数,Y为带符号的纯小数,[X]原+[Y]补+[Z]移=11111111,求出X、Y、Z的十进制真值为:X=(16),Y=(17),Z=(18)。
随机试题
Oneoftheworld’soldestandmostfamousstatuesmaynot【C1】______muchlongerunlessstepsare【C2】______tosaveit.Thehugef
治疗干疳的首选方剂为
男性,20岁,心悸,多汗,手颤2个月,无明显突眼,甲状腺I度弥漫性肿大,血游离T3、T4增高,TSH降低。肝、肾功能正常,血WBC6.8×109/L。诊为甲亢。既往无甲亢病史,治疗应选择
投标人对投标文件进行补充、修改或撤回,应该在()之前进行。
钢筋连接的方式主要采取()。
按月或按季预缴企业所得税的,应当自月份或者季度终了之日起()内,向税务机关报送预缴企业所得税申报表,预缴税款。
商业银行公司治理的主要内容不包括()。
甲是乙公司的研发人员。经长期研究,完成单位交付的研发任务,开发出了一种抗癌新药,现欲申请专利。以下关于该成果权利归属的说法中,正确的有()。(2007年试题)
商业银行在取得抵(质)押品及其他以物抵贷财产(下称抵债资产)后,下列原则中可用来确定其价值的有()。
【69】系统是苹果公司智能手机所使用的操作系统,也使用在iPodtouch、iPad等产品上,按照内核结构分类,它属于【70】内核操作系统。
最新回复
(
0
)