首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
二叉排序树采用二叉链表存储。写一个算法,删除结点值是X的结点。要求删除该结点后,此树仍然是一棵二叉排序树,并且高度没有增长(注意:可不考虑被删除的结点是根的情况)。
二叉排序树采用二叉链表存储。写一个算法,删除结点值是X的结点。要求删除该结点后,此树仍然是一棵二叉排序树,并且高度没有增长(注意:可不考虑被删除的结点是根的情况)。
admin
2019-08-01
37
问题
二叉排序树采用二叉链表存储。写一个算法,删除结点值是X的结点。要求删除该结点后,此树仍然是一棵二叉排序树,并且高度没有增长(注意:可不考虑被删除的结点是根的情况)。
选项
答案
在二叉排序树上删除结点,首先要查找该结点。查找成功后,若该结点无左子树,则可直接将其右子树的根结点接到其双亲结点上;若该结点有左子树,则将其左子树中按中序遍历的最后一个结点代替该结点,从而不增加树的高度。 void Delete(BSTree bst,keytype X){ //在二叉排序树bst上,删除其关键字为X的结点 BSTree f,p=bst: while(P&&p一>key!=X) //查找值为X的结点 if(p一>key>X){f=P;P=p一>lchild;} else{f=P;P=p一>rchild;} if(P==null){printf(”无关键字为x的结点\n”);exit(0);} if(p一>lchild==null){ //被删结点无左子树 if(f一>lchild==P)f一>lehild=P一>rchild;//将被删结点的右子树接到其双亲上 else f一>rchild=p一>rehild; } else{q=P;s=p一>lehild; //被删结点有左子树 while(S->rehild!=null) //查左子树中最右下的结点(中序最后结点) {q=s;s=s一>rehild;} P一>key=s一>key; //结点值用其左子树最右下的结点的值代替 if(q==P)P一>lchild=s一>lchild; //被删结点左子树的根结点无右子女 else q一>rchild=s一>lchild; //s是被删结点左子树中序序列最后一个结点 free(s); } }
解析
转载请注明原文地址:https://jikaoti.com/ti/kDGjFFFM
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
论述王莽改制的内容并分析失败的原因。
下列历史事件发生的先后顺序是()。①“铁幕”演说②马歇尔计划③北大西洋公约
东欧剧变的根本原因是()。
一战后,法国对外政策的特点是()。
到1869年为止,人类已发现了多少种化学元素()。
乾隆时期,明确规定了驻藏大臣的地位与达赖班禅同等,并实行“金瓶掣签”制度的文件是()。
庆历新政是统治集团内部为了改革弊病而进行的一次努力。回答问题:范仲淹在()中提出了具体的改革方案。
假设系统的所有资源是同类型的,系统中的进程每次申请资源数最多1个,那么,下面列出的4种情况中,()可能发生死锁。情况序号系统中进程数资源总量
在请求页式系统中,一程序的页面走向(访问串或引用串)为2,3,4,5,2,3,6,2,3,4,5,6,设分配给该程序的存储块数为m。试分别计算m=3和m=4时,FIFO和LRU两种替换算法的缺页(页故障)数,并给出:结果说明了什么?
指令系统字长16位,每个地址码为6位,采用扩展操作码的方式,试设计14条二地址指令,100条一地址指令,100条零地址指令。(1)画出操作码的扩展形式。(2)下图为指令译码逻辑图,其中只给出了二地址指令的译码逻辑,试补全一地址指令和零地址指令的
随机试题
—Isn’tthatAnn’shusbandoverthere?—No,it______behim,I’msurehedoesn’twearglasses.
哮证发作期的主要病因病机是
苹果酸穿梭作用的生理意义是
双氯芬酸的化学名为
申请商用房贷款的借款人可以提供的担保或保障方式包括()。
2020年7月31日,甲公司应付乙公司的款项420万元到期,出于多方面因素的考虑,当日,甲公司就该债务与乙公司达成的下列偿债协议中,一般属于债务重组的有()。
《中华人民共和国宪法》规定,国家鼓励集体经济组织、国家企业事业组织和其他社会力量依照法律规定举办各种教育事业。()
“先天下之忧而忧,后天下之乐而乐”,是北宋著名政治家、文学家范仲淹的历史名言,也是他自身人格的真实写照。最近,由鲍人所著、山东文艺出版社出版的《清风有骨》一书,作者以翔实的史料、散文的笔触、传记的体例,真实再现了范仲淹名垂青史、傲骨凛然的一生,读后让人心绪
(1)在考生文件夹下有一个工程文件sjt3.vbp。窗体上有一个标题为“得分”的框架,在框架中有一个名称为Text1的文本框数组,含六个元素;文本框Text2用来输入难度系数。程序运行时,在左边的六个文本框中输入6个得分,输入难度系数后,单击“计算分数”按
TheImpactofWildernessTourismA)Themarketfortourisminremoteareasisboomingasneverbefore.Countriesallacrossthew
最新回复
(
0
)