首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下说明和C函数,填充函数中的空缺,将解答填入答题纸的对应栏内。 【说明】 函数Insert_key(*root,key)的功能是将键值key插入到*root指向根结点的二叉查找树中(二叉查找树为空时*root为空指针)。若给定的二叉查
阅读以下说明和C函数,填充函数中的空缺,将解答填入答题纸的对应栏内。 【说明】 函数Insert_key(*root,key)的功能是将键值key插入到*root指向根结点的二叉查找树中(二叉查找树为空时*root为空指针)。若给定的二叉查
admin
2013-07-03
76
问题
阅读以下说明和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://www.kaotiyun.com/show/0njZ777K
本试题收录于:
程序员下午应用技术考试题库软考初级分类
0
程序员下午应用技术考试
软考初级
相关试题推荐
西部某省考试机构工作人员统计了去年下半年三个地区四种资格的报考人数,将统计表抄录如下(其中有一个数据抄错了): 信息处理技术员小王很快就找出了错误的数据,并进行了纠正。错误的数据是(32),该数据应纠正为(33)。32.
在Excel2007中,如果在A1单元格输入“计算机”,在A2单元格输入“软件资格考试”,在A3单元格输入“=A1&A2”,按回车键后,结果为______。
双击某个非可执行程序的文件名将(24)。
在PowerPoint中,下列关于自定义放映的叙述不正确的是(63)。
文件的使用权限包括完全控制、允许写入、允许读取、允许运行、允许删除等,其中完全控制、允许写入、允许读取、允许运行都允许用户进行的操作是(38)。
下图主板接口中,①处是(28),②处可以接的设备是(29),③处可以接的设备是(30)29.
小张为本企业录入一篇领导讲话文稿。文稿中引用了该企业2008年的销售额和各产品的利润等数据。小张考虑到目前是2010年,从信息的实效性出发,决定对文稿中的这部分内容进行处理,则______做法最为恰当。
在计算机程序设计语言中,可以直接被计算机识别并执行的是______。
某PPT文件共有8张幻灯片,现选中第6张幻灯片,对其设置新的背景颜色,单击“应用”按钮后,则()。
随机试题
最常引起肝、脾、淋巴结肿大及中枢神经系统白血病的是()
患者,男性,15岁,癫痫大发作入院,医生请各科会诊该病例。该行为符合医德的哪项原则
猩红热的临床特点应除外
经纬仪有四条主要轴线,如果视准轴不垂直于横轴,此时望远镜绕横轴旋转时,则视准轴的轨迹是()。[2016年真题]
根据规定,下列有关各单位会计机构和会计业务设置的说法中,正确的有()。
按照投资基础的不同,下列选项中不属于现金流量表的是()。
提出“最近发展区”的教育家是()。
海伦.凯勒是举世______的作家和教育家。尽管命运之神夺走了她的视力和听力,这位女子却用勤奋和坚韧不拔的精神紧紧扼住了命运的喉咙。她的名字已经成为坚韧不拔意志的象征,传奇般的一生成为鼓舞人们战胜______的巨大精神力量。填入划横线部分最
国际经营战略[上海财经大学2015国际商务硕士]
Intheclassicmarriagevow(誓约),couplespromisetostaytogetherinsicknessandinhealth.Butanewstudyfindsthattheris
最新回复
(
0
)