首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列程序说明和C程序,把应填入其中(n)处的字句,写在对应栏内。 【程序说明】 已知某二叉树的前序遍历和中序遍历序列,可以得到该二叉树的结构。本程序实现了根据这两个遍历序列生成一棵链接表示的二叉树。 构造二叉树的算法要点是:由前序遍历序
阅读下列程序说明和C程序,把应填入其中(n)处的字句,写在对应栏内。 【程序说明】 已知某二叉树的前序遍历和中序遍历序列,可以得到该二叉树的结构。本程序实现了根据这两个遍历序列生成一棵链接表示的二叉树。 构造二叉树的算法要点是:由前序遍历序
admin
2009-05-15
76
问题
阅读下列程序说明和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);
}
选项
答案
(3)rpos-ipos
解析
相减得到左子树的结点数。
转载请注明原文地址:https://www.kaotiyun.com/show/3ujZ777K
本试题收录于:
程序员上午基础知识考试题库软考初级分类
0
程序员上午基础知识考试
软考初级
相关试题推荐
认真阅读以下网页制作和网页编程的内容,回答问题1~5,将解答填入对应的解答栏内。(1)网页制作[说明]某网络资源站点用JSP实现了一个简单的验证码登录控制,网页效果如右图所示。[login.jsp文档的内容]
连接交换机与工作站的传输介质是什么?介质需要做成直通线还是交叉线?最大长度限制为多少?在工作站A的网络配置中,网关地址是什么?
阅读下列说明,回答下列问题,将解答填入答题纸对应的解答栏内。【说明】某局域网拓扑结构如图3-1所示。网络配置成功后,为了阻止PC2访问Internet,需要在图3-1中路由器E0接口上配置ACL规则,请补充完成。Router(eo
阅读以下说明,回答问题1至问题5,将解答填入答题纸对应的解答栏内。【说明】某公司使用ASP开发商务网站,网页制作过程使用了CSS技术,该网站具有商品介绍、会员管理、在线支付和物流管理等功能,采用SQLServer数据库,数据库名称为business,
阅读以下关于Linux网卡安装和配置过程的说明,回答问题1~问题5,将解答填入答题纸对应的解答栏内。【说明】某个采用动态IP地址分配策略的计算机使用了最新的BCM5751网卡芯片,由于RedHatLinux9操作系统无法自动识别此
使用Word时,若要创建每页都相同的页脚,则可以通过(14)按钮,切换到页脚区域,然后输入文本或图形。要将D盘中当前正在编辑的Wang1.doc文档复制到U盘中,应当使用(15)。
A user interface can be defined as the combination of hardware and software that helps people and computers(70)with each other.
负责解释执行JavaScript代码的是(44)。
计算机网络拓扑是通过网中结点与通信线路之间的几何关系表示网络中各实体间的(30)。 网络拓扑设计的优劣将直接影响到网络的性能、可靠性与(31)。
IPv6是下一代IP协议,其基本报头中的(70)字段指明了一个特定的信源向某个特定信宿发送的分组序列,各个中间路由器要对该分组序列进行特殊处理以满足应用程序的特殊传输需求。
随机试题
1951年5月,中央人民政府与西藏地方政府达成()
关于制定药品质量标准的基本原则中不正确的是:
银行资产的流动性风险是指银行过去筹集的资金特别是存款资金由于内外因素的变化使其发生不规则波动,对其产生冲击并引发相关损失的可能性。()
信用社表内业务的会计记账方法采用借贷记账法,是记录和反映资金增减变化过程及结果的一种复式记账法。()
对学习内容的直观不包括()
按照我国中小学课程改革的发展趋势,课程设计将强调()。
开调查会的调查方式不适宜于()事项的调查。
对资本主义工商业进行社会主义改造,实行的是()
九一八事变后,蒋介石奉行“不抵抗政策”,坚持“攘外必先安内”的方针,将主要军力用于“剿共”,爱国民主人士和爱国力量不满蒋介石这一做法,纷纷采取行动,为抗日斗争各尽所能,其中具有代表性的事件有
在高速主干网、数据仓库、桌面电话会议、3D图形与高清晰度图像应用中,一般采用【 】Mbps以太网。
最新回复
(
0
)