首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下说明和C语言函数,将应填入(n)处。 [说明] 二叉排序树或者是一棵空树,或者是具有如下性质的二叉树:若它的左子树非空,则左子树上所有结点的值均小于根结点的值;若它的右子树非空,则右子树上所有结点的值均大于根结点的值;左、右子树本身就是两棵二
阅读以下说明和C语言函数,将应填入(n)处。 [说明] 二叉排序树或者是一棵空树,或者是具有如下性质的二叉树:若它的左子树非空,则左子树上所有结点的值均小于根结点的值;若它的右子树非空,则右子树上所有结点的值均大于根结点的值;左、右子树本身就是两棵二
admin
2012-12-10
63
问题
阅读以下说明和C语言函数,将应填入(n)处。
[说明]
二叉排序树或者是一棵空树,或者是具有如下性质的二叉树:若它的左子树非空,则左子树上所有结点的值均小于根结点的值;若它的右子树非空,则右子树上所有结点的值均大于根结点的值;左、右子树本身就是两棵二义排序树。
函数insert_BST(char *str)的功能是:对给定的字符序列按照ASCⅡ码值大小关系创建二叉排序树,并返回指向树根结点的指针。序列中重复出现的字符只建一个结点,并由结点中的Count域对字符的重复次数进行计数。
二叉排序树的链表结点类型定义如下:
typedef struct BSTNode{
char Elem; /*结点的字符数据*/
int Count; /*记录当前字符在序列中重复出现的次数*/
struct BSTNode *Lch,*Rch; /*接点的左、右子树指针*/
}*BiTree;
[函数]
BiTree insert_BST(char *str)
{ BiTree root,parent,p;
char (1); /*变量定义及初始化 */
root=(BiTree)malloc(sizeof(struct BSTNode));
if(!root||*s==’\0’) return NULL;
root->Lch=root->Rch=NULL; foot->Count=1; root->Elem=*s++;
for(; *s!=’\0’;s++) {
(2); parent=NULL;
while (p){ /*p从树跟结点出发查找当前字符*s所在结点 */
parent = p;
if(*s==p->Elem)/*若树中已存在当前字符结点,则当前字符的计数值加1*/
{p->Count++; break;}
else /*否则根据字符*s与结点*p中字符的关系,进入*p的左子树或右子树*/
if (*s>p->Elem) p=p->Rch;
else p=p->Lch;
}/*while*/
if( (3)) {/* 若树中不存在字符值为*s的结点,则申请结点并插入树中 */
p=(BiTree)malloc(sizeof(struct BSTNode));
if(!p)return NULL;
p->Lch=p->Rch=NULL; p->Count=1; p->Elem=*s;
/*根据当前字符与其父结点字符值的大小关系,将新结点作为左子树或右子树插入*/
if(p->Elem>parent->Elem) (4)=p;
else (5)=p;
}
}/*for*/
return root;
}
选项
答案
(1) *s=str(2) p=root(3) p==NULL (4) parent->Rch(5) parent->Lch
解析
本题考查二叉排序树在链表存储结构上的运算。
函数insert_BST(char *str)的功能是对给定的字符序列str按照ASCⅡ码值大小关系创建二叉排序树,并返回指向树根结点的指针,序列中重复出现的字符只建一个结点,并由结点中的Count域对字符的重复次数进行计数。
根据程序代码中对字符序列中字符的引用情况,可知需要在空(1)处定义字符指针s,其初值应为参数str的值。for语句的作用是对序列中的每个字符*s,用while循环从树根结点出发查找*s所在结点。由于while的条件p为非空指针时循环,因此此前应设置 p的初值,显然空(2)是为p没初值root,从而对每个字符*s都可以从树根出发,开始查找结点。若树中已存在当前字符*s的结点,则*s字符的计数值加1,并结束对该字符的查找过程,若树中不存在*s的结点,则会进入树的一个空子树(以p为空表示),因此空(3)处应填入“p==NULL”或“中!p”。
插入新的结点时,需要建立其与父结点的关系,在查找结点的过程中parent表示待插入结点的父结点。因此根据二叉排序树的定义,待插入元素的值大于其父结点的值,则作为右子结点插入,否则作为左子结点插入。所以,空(4)、(5)分别填入parent->Rch和parent->Lch。
转载请注明原文地址:https://www.kaotiyun.com/show/RnjZ777K
本试题收录于:
程序员下午应用技术考试题库软考初级分类
0
程序员下午应用技术考试
软考初级
相关试题推荐
以下关于操作系统中回收站的叙述中,不正确的是(25)。
在Word2007中,若用户需要将一篇文章中的字符串“Internet”全部替换为字符串“因特网”,则可以在编辑菜单中选择()命令。
在Windows环境中,选择某一部分信息(例如一段文字、一个图形)移动到别处,可以首先执行“编辑”菜单下的(5)命令。
在Excel中,若A1单元格中的内容为“全国计算机技术与软件专业技术资格(水平)考试”,在A2单元格中输入函数=LEFT(A1,2),则A2单元格显示的内容是______。
某信息处理技术员正在做大批数据处理的大项目时,领导又交宋了另一项临时性的紧迫工作,要求优先处理。该信息处理技术员需要转而做新的工作,他对原工作的处理方式应该是(69)。
某学校有多个班,每个班有多名学生但只能有一个班长,那么班长与学生这两个实体之间的关系是(57)。
若在Excel的A1单元格中输入函数“=SUM(1,12,false)”,按回车键后,则A1单元格中显示的值为________。
下面记录的是某班36人期末考试的数学成绩:971009596100879610089100936999891008188
请根据网页显示的效果图和网页中的元素说明,将HTML文本中(n)处的解答填入答题纸对应的解答栏内。说明在Ⅲ浏览器中输入常春藤大学招生办公室主页的网址并回车后,网页显示的效果如图5-1所示。HTML文本<html><he
防火墙包过滤规则的默认策略为拒绝,下表给出防火墙的包过滤规则配置界面。若要求内部所有主机能使用IE浏览器访问外部IP地址为202.117.118.23的Web服务器,为图中(1)~(4)空缺处选择正确答案。(1)A.允许B.拒绝(2)A.192
随机试题
背景某机场工程因技术难度大、工期紧,对施工单位的施工设备和同类工程施工经验要求较高。该机场方在对相关单位进行了考察以后,于2010年6月2日向具备承担该项目能力的A、B、C、D四家承包商发出了投标邀请函,四家承包商均接受了邀请,并于投标截止时间前递交了投
A.理中丸B.右归丸C.温经汤(《妇人大全良方》)D.温经汤(《金匮要略》)E.肾气丸治疗月经后期虚寒证,应首选的方剂是
根据初步设计文件估计建设项目总造价时应依据的定额是:
支票是指由出票人签发的、约定自己或者委托付款人在见票时或指定的日期向收款人或持票人无条件支付一定金额的有价证券。()
舞蹈包含了几个基本要素,是一门综合性舞台造型艺术()。
某教师在讲完《游褒禅山记》之后,设计了“漫步山水,欣赏华夏风光”的课外阅读专题,这一专题属于《普通高中语文课程标准(实验)》选修系列中的()。
1984—1987年中人口增长最多的一年是( )1984—1987年中人口增长最少的一年是( )
运用加和法评估续用前提下的企业各单项资产价值时,应遵循()原则。
Readthememoandadvertisementbelow.Completethegivenbelow.Writeaword,phraseornumberinspaces41-45onyour
Viewedfromastarinsomeothercornerofthegalaxy,Earthwouldbeaspeck,afaintbluedothiddenintheblazinglightofou
最新回复
(
0
)