首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下说明、C函数和问题,将解答填入答题纸的对应栏内。 【说明】 二叉查找树又称为二叉排序树,它或者是一棵空树,或者是具有如下性质的二叉树: •若它的左子树非空,则其左子树上所有结点的键值均小于根结点的键值; •若它的右子树非空,则其右子树上所有结点的键
阅读以下说明、C函数和问题,将解答填入答题纸的对应栏内。 【说明】 二叉查找树又称为二叉排序树,它或者是一棵空树,或者是具有如下性质的二叉树: •若它的左子树非空,则其左子树上所有结点的键值均小于根结点的键值; •若它的右子树非空,则其右子树上所有结点的键
admin
2010-01-08
81
问题
阅读以下说明、C函数和问题,将解答填入答题纸的对应栏内。
【说明】
二叉查找树又称为二叉排序树,它或者是一棵空树,或者是具有如下性质的二叉树:
•若它的左子树非空,则其左子树上所有结点的键值均小于根结点的键值;
•若它的右子树非空,则其右子树上所有结点的键值均大于根结点的键值;
•左、右子树本身就是二叉查找树。
设二叉查找树采用二叉链表存储结构,链表结点类型定义如下:
typedef struct BiTnode{
int key_value; /*结点的键值,为非负整数*/
struct BiTnode*left,*right; /*结点的左、右子树指针*/
}*BSTree;
函数find—key(root,key)的功能是用递归方式在给定的二叉查找树(root指向根结点)中查找键值为key的结点并返回结点的指针;若找不到,则返回空指针。
【C函数】
BSTree find_key(BSTree root,int key)
{
if ( (1) )
return NULL;
else
if(key==root->key_valuel
return (2) ;
else if(key
returrl (3) ;
else
return (4) ;
}
[问题1]
请将函数find_key中应填入(1)一(4)处的字句写在答题纸的对应栏内。
[问题2]
若某二叉查找树中有n个结点,则查找一个给定关键字时,需要比较的结点个数取决于(5) 。
选项
答案
(1)!root或rool==NuLL (2)root (3)find_key(root->。left,key)(4)find_key(root->fight,key)(5)该关键字对应结点在该二叉查找树所在层次(数)或位置,或者该二叉树中从根结点到该关键字对应结点的路径长度。
解析
根据“说明”中对二叉查找树的定义可以知道在对二叉查找树进行查找时,应该按照以下步骤来进行。(1)首先判断二叉查找树是否为空,如果为空,直接返回NuLL;否则,继续向下走。(2)判断键值key与树根结点的键值比较的大小。(3)如果相等,则返回树根结点。(4)如果大于树根结点,则以树根结点的右子树为根结点,从步骤(1)开始继续循环查找。(5)如果小于树根结点,则以树根结点的左子树为根结点,从步骤(1)开始继续循环查找。(6)递归调用查找函数,如果给定的二叉查找树上不存在与给定的键值相等的结点,则必然进入某一个结点的空的子树时结束。从以上的步骤分析可以看出空(1)处应该是判断root是否为空,故答案为“root==NuLL”或!root;空(2)的时候查找到与key相等的键值,返回该节点指针,故答案为“root”;空(3)处key的值小于根结点的键值,则应该以该根结点的左子树为根结点重新查找,故答案为“find_key(root->1eft,key)”;空(4)处则是处理剩下的最后一种情况,即key的值大于根结点的键值,这时候应该以该根结点的右子树为根结点,递归调用函数,所以答案为“find_key(root->fight,key)”。根据上面的二叉查找树的查找过程中可以看出,查找成功其实是走了一条从根结点到达所找结点的路径。例如要从下面的二叉查找树中查找75,则需要依次与50、67、89、75进行比较,可以看出在树中查找一个关键字,需要比较的结点的个数取决于该关键字对应结点在该二叉查找树中所在层数或位置,或者是该二叉查找树从根结点到该关键字的对应结点的路径长度。
转载请注明原文地址:https://www.kaotiyun.com/show/jIjZ777K
本试题收录于:
程序员下午应用技术考试题库软考初级分类
0
程序员下午应用技术考试
软考初级
相关试题推荐
某地区对高二学生举行了一次数学统考,并按“成绩-人数”绘制了分布曲线。考试成绩呈(12)________________,分布比较合理。
________________是按照科学的城市发展理念,利用新一代信息技术,通过人、物、城市功能系统之间的无缝连接与协同联动,实现自感知、自适应、自优化,形成安全、便捷、高效、绿色的城市形态。
数据分析经常需要把复杂的数据分组,并选取代表,将大量数据压缩或合并得到一个较小的数据集。这个过程称为()。
为支持各级管理决策,信息处理部门提供的数据不能过于简化,也不能过于繁琐,不要提供大量不相关的数据。这是信息处理的()要求。
在Excel的A1单元格中输入函数“=ROUND(3.1415,2)”,则A1单元格中显示的值为(57)。
要使Word能自动提醒英文单词的字母拼写是否正确,应设置Word的(47)选项功能。
人类传播信息的五大类媒体按其出现的先后顺序排列为________。
在Excel中,若A1单元格中的内容为“全国计算机技术与软件专业技术资格(水平)考试”,在A2单元格中输入函数=LEFT(A1,2),则A2单元格显示的内容是______。
在统计学中,用来衡量一个样本中各个数据波动大小的量是______。
/etc/dhcpd.conf文件中的配置语句:hostCIU_DHCP{hardwareethemet52.54.AB.3B.B6.45fixed-address192.168.1.15;}表示的是什么意思?当配置文件配置好以后,还
随机试题
维持育龄妇女基础体温呈双相变化的激素是
A.脑血管疾病B.肺性脑病C.慢性肺心病缓解期D.肾功能衰竭E.肺心病严重右心衰竭
草豆蔻与草果共有的作用为
下列不属于肺经经脉五腧穴的是()
下列哪一选项被确认为是人民民主专政的根本标志?()
属于房地产投资优点的有()。
研究幼儿的发展需要必须认识到幼儿的“理想发展”与“______”的水平及其之间的差距。
单链表的每个结点中包括一个指针link,它指向该结点的后继结点。现要将指针q指向的新结点插人到指针p指向的单链表结点之后,下面的操作序列中哪一个是正确的?
A、Themoviewasbad.B、Themoviewasexcellent.C、Shedidn’tgotothemovie.D、She’dliketoseeitagain.A本题考查对虚拟语气的理解。对话中男士问
Here’sawarningfromhealthexperts:Sittingisdeadly.Scientistsareincreasinglywarningthatsittingforprolongedperiods
最新回复
(
0
)