首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下说明和C函数,填充函数中的空缺,将解答填入答题纸的对应栏内。 【说明】 函数Insert_key(*root,key)的功能是将键值key插入到*root指向根结点的二叉查找树中(二叉查找树为空时*root为空指针)。若给定的二叉查
阅读以下说明和C函数,填充函数中的空缺,将解答填入答题纸的对应栏内。 【说明】 函数Insert_key(*root,key)的功能是将键值key插入到*root指向根结点的二叉查找树中(二叉查找树为空时*root为空指针)。若给定的二叉查
admin
2013-07-03
38
问题
阅读以下说明和C函数,填充函数中的空缺,将解答填入答题纸的对应栏内。
【说明】
函数Insert_key(*root,key)的功能是将键值key插入到*root指向根结点的二叉查找树中(二叉查找树为空时*root为空指针)。若给定的二叉查找树中已经包含键值为key的结点,则不进行插入操作并返回0;否则申请新结点、存入key的值并将新结点加入树中,返回1。
提示:
二叉查找树又称为二叉排序树,它或者是一棵空树,或者是具有如下性质的二叉树:
.若它的左子树非空,则其左子树上所有结点的键值均小于根结点的键值;
.若它的右子树非空,则其右子树上所有结点的键值均大于根结点的键值;
.左、右子树本身就是二叉查找树。
设二叉查找树采用二叉链表存储结构,链表结点类型定义如下:
typedef struct BiTnode{
int key_value; /*结点的键值,为非负整数*/
struct BiTnode * left,* right; /*结点的左、右子树指针*/
}BiTnode,*BSTree;
【C函数】
int Insert_key(BSTree * root,int key)
{
BiTnode * father=NULL,* p= * root, * s;
while(
(1)
&&key!=p->key_value){ /*查找键值为key的结点*/
father=p;
if(key<p->key_value)p=
(2)
; /*进入左子树*/
else p=
(3)
; /*进入右子树*/
}
if(p)return 0; /*二叉查找树中已存在键值为key的结点,无须再插入*/
s=(BiTnode*)malloc(
(4)
); /*根据结点类型生成新结点*/
if(!s)return-1;
s->key_value=key;s->left=NULL;s->right=NULL;
if( ! father)
(5)
; /*新结点作为二叉查找树的根结点*/
else /*新结点插入二叉查找树的适当位置*/
if(key
key_value)father->left=s:
else father->right=s;
return 1:
}
选项
答案
(1)p!=NULL (2)p->left (3)p->right (4)sizeof(BiTnode) (5)*root=s
解析
本题考查数据结构中二叉查找树的实现,题目中涉及的考点主要有链表运算和程序逻辑。考生应理解二又查找树的性质,分析程序时首先要明确各个变量所其的作用和代表的含义,并按照语句组分析各段代码的功能,从而完成空缺处的代码填写。
根据程序段中的注释,whiIe循环所在的程序段用于查找键值为key的结点。此时的循环条件应满足二叉查找树非空。因此,(1)处应填入p!=NuLL或其等价形式。
根据二叉查找树的性质,若它的左子树非空,则其左子树上所有结点的键值均小于根结点的键值。因此,若插入的键值key小于当前结点的键值,则应将其添加到其左子树中。因此,(2)处应填入p->1eft。类似的思路,(3)处应填入p->right使其进入右子树。
根据程序段中的注释,(4)处用于根据结点类型生成新结点。由于需申请的结点的类型为BiTnode,因此,(4)处应填入sizeof(BiTnode),指定申请空间的大小。
若该二叉查找树为空,新结点应作为二叉查找树的根结点进行插入,(5)处即实现该功能,应填入*root=s。
转载请注明原文地址:https://kaotiyun.com/show/0njZ777K
本试题收录于:
程序员下午应用技术考试题库软考初级分类
0
程序员下午应用技术考试
软考初级
相关试题推荐
在Excel的A1单元格中输入函数“=ROUND(3.1415,2)”,则A1单元格中显示的值为(57)。
西部某省考试机构工作人员统计了去年下半年三个地区四种资格的报考人数,将统计表抄录如下(其中有一个数据抄错了): 信息处理技术员小王很快就找出了错误的数据,并进行了纠正。错误的数据是(32),该数据应纠正为(33)。33.
Windows系统的控制面板不包括__________功能。
某金融企业正在开发移动终端非现场办公业务,为控制数据安全风险,采取的数据安全措施中并不包括______。
在Excel中,若A1单元格中的内容为“全国计算机技术与软件专业技术资格(水平)考试”,在A2单元格中输入函数=LEFT(A1,2),则A2单元格显示的内容是______。
四位二进制数(从0000到1111)中,不含连续三位相同数字的数共有(4)个。
在Excel2007中,若在单元格A1中输入函数“=ROUNDUP(3.1415926,2)”,按回车键后,则A1单元格中的值为______。
许多书上都说,人一次只能记住或处理5~9(7±2)条信息。为了检验这个结论是否正确,宜采用()调查方法。经过多次调查统计研究发现,人一次平均只能记住或处理4条信息。经考证,原来7±2的说法只是一位专家在一个讲演稿中的估计,并不是真正的调研报告,但却
计算机病毒是一段程序,一般隐藏在______中。
甲和乙用如下图的两个转盘做游戏,游戏规则如下:分别旋转两个转盘,当两个转盘所转到的数字之积为奇数时,甲得2分;当所转到的数字之积为偶数时,乙得1分,则这游戏规则______。
随机试题
红茶一般经过萎凋、揉捻、发酵和干燥等工序制作而成,揉捻是红茶制作中的重要工序,是形成红茶特有色香味的关键
基底神经节有重要的运动调节功能。
一小儿体重20kg,身长117cm,身长之中点位于脐与耻骨联合之间,腕部骨化中心出现7个,已出现第一磨牙,未开始换牙。最可能的年龄是
药物中氯化物杂质检查,是使该杂质在酸性溶液中与硝酸银作用生成氯化物浑浊,所用的稀酸是( )。
接种卡介苗,下列提法哪项是错误的
当验算模板及其支架构刚度时,其最大变形值不得超过一定的容许值,下列正确的有()
施工定额的编制原则为()。
大自然的作用形成了世界上的许多著名大河,下列关于这些大河说法正确的是:
关于公告说法错误的是()。
•Readthetextabouttheimportanceofqualifications.•Inmostofthelines34—45thereisoneextraword.Oneortwolines,ho
最新回复
(
0
)