首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
二叉排序树采用二叉链表存储。写一个算法,删除结点值是X的结点。要求删除该结点后,此树仍然是一棵二叉排序树,并且高度没有增长(注意:可不考虑被删除的结点是根的情况)。
二叉排序树采用二叉链表存储。写一个算法,删除结点值是X的结点。要求删除该结点后,此树仍然是一棵二叉排序树,并且高度没有增长(注意:可不考虑被删除的结点是根的情况)。
admin
2019-08-15
66
问题
二叉排序树采用二叉链表存储。写一个算法,删除结点值是X的结点。要求删除该结点后,此树仍然是一棵二叉排序树,并且高度没有增长(注意:可不考虑被删除的结点是根的情况)。
选项
答案
在二叉排序树上删除结点,首先要查找该结点。查找成功后,若该结点无左子树,则可直接将其右子树的根结点接到其双亲结点上;若该结点有左子树,则将其左子树中按中序遍历的最后一个结点代替该结点,从而不增加树的高度。 void Delere(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){prinff(”无关键字为x的结点\n”);exit(0);} if(p一>lchild==null){ //被删结点无左子树 if(f一>lchild==p)f->lchild=p->rehild;//将被删结点的右子树接到其双亲上 else f一>rchild=p一>rehild; } else{q=p;s=p->lchild; //被删结点有左子树 while(s一>rchild!=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://kaotiyun.com/show/n0Ci777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
1937年11月,继张家口、大同、归绥的三个伪政权后,日本又成立了(),将三个伪政权统一管辖。
经六朝时期的发展,南方形成了三个农业发达地区即()。
在1875年宪法中关于法国立法权的叙述,不正确的是()。
鸦片战争失败后,西方列强强迫清政府签订了中国近代史上第一批不平等条约。鸦片战争是中国历史的转折点,对中国历史产生了深远的影响。中国开始逐步沦为半殖民地半封建社会。据此回答以下问题:中英《南京条约》所规定开放的通商口岸分布于()
一棵:BS’r树共7个结点,值分别为1、2、3、4、5、6、7,形态为满二叉树,()不是插入序列。
某计算机的Cache共有16块,采用2路组相联映射方式(即每组2块)。每个主存块大小为32字节,按字节编址。主存129号单元所在主存块应装入到的Cache组号是()。
给定页面请求序列RS=cadbebabcd,页框为4,起始为空,写出LRU页面置换过程。
操作数地址存放在寄存器的寻址方式叫()。
现有一个长度为3000B的IP数据报,其IP头部的长度为20B,该IP数据报如在最大帧长度为1518B的以太网中进行传输,那么为了正确传输,需要将其拆分的数据报个数是()。
设有3阶B一树,如图1-4所示。在该B一树上依次插入关键字33和97。试画出两次插入后的B-树。
随机试题
烹调用具可以连炒几个菜后再刷锅勺,这样既节省时间,又不会影响菜肴质量。()
在叙述活动的参与者中,与叙述者相对的是【】
早期诊断宫颈癌无意义的项目是
水质数学模式的选用主要考虑()、污染物的性质及水质分布状态、评价等级要求等方面。
银团贷款的主要成员中,()负责接受借款人的委托、策划组织银团并安排贷款分销。
马克思指出:“不管生产力发生了什么变化,同一劳动在同样的时间内提供的价值量总是相同的。但它在同样的时间内提供的使用价值量会是不同的:生产力提高时就多些,生产力降低时就少些。”这表明,社会或部门劳动生产率提高。单位时间内生产的商品数量和价值量之间的变化表现为
求
已知连续函数f(x)满足条件,求f(x).
教师表的“选择查询”设计视图如下,则查询结果是
20世纪70年代末以来,中国经济持续增长,综合国力不断增强,中国人民的生活不断改善。2004年,世界经济实现了近30年以来最快的增长,亚太地区经济增长也创造了2000年以来的最高水平,中国经济增长9.4%。事实证明,中国经济的发展,不仅造福了中国人民,也为
最新回复
(
0
)