首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
二叉排序树采用二叉链表存储。写一个算法,删除结点值是X的结点。要求删除该结点后,此树仍然是一棵二叉排序树,并且高度没有增长(注意:可不考虑被删除的结点是根的情况)。
二叉排序树采用二叉链表存储。写一个算法,删除结点值是X的结点。要求删除该结点后,此树仍然是一棵二叉排序树,并且高度没有增长(注意:可不考虑被删除的结点是根的情况)。
admin
2019-08-01
91
问题
二叉排序树采用二叉链表存储。写一个算法,删除结点值是X的结点。要求删除该结点后,此树仍然是一棵二叉排序树,并且高度没有增长(注意:可不考虑被删除的结点是根的情况)。
选项
答案
在二叉排序树上删除结点,首先要查找该结点。查找成功后,若该结点无左子树,则可直接将其右子树的根结点接到其双亲结点上;若该结点有左子树,则将其左子树中按中序遍历的最后一个结点代替该结点,从而不增加树的高度。 void Delete(BSrIIree 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一>lchild:p->rchild;//将被删结点的右子树接到其双亲上 else f一>rchild=p->rehild; } else{q=P;S=P->lchild; //被删结点有左子树 while(S->rchild!=null) //查左子树中最右下的结点(中序最后结点) {q=s;s=s一>rchild;} P->key=s->key; //结点值用其左子树最右下的结点的值代替 if(q==P)P一>lchild=s->lchild; //被删结点左子树的根结点无右子女 else q->rchild=s->lchild; //s是被删结点左子树中序序列最后一个结点 free(s); } }
解析
转载请注明原文地址:https://www.kaotiyun.com/show/z3Ci777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
16世纪中期,德意志资产阶级迫切要求实现国家的统一,其首要的目的是()。
简论唐代开元盛世局面形成的原因。
关于垄断组织的积极作用,不正确的说法是()。
在下列四本部书中有可能记载“甘薯所在,局面便有半年之粮,民间渐次广种”一语的只能是()。
建国以来,根据我国民族状况自身特点,民族自治地方人民代表大会依据全国人民代表大会制定的有关法律,先后制定了若干自治条例和单行条例;全国依法建立了155个民族自治地方,少数民族当家作主的权利得到充分保障。同时,国家采取一系列措施,加大支持力度,促进了民族自治
三国时期,魏、蜀、吴三国灭亡的历史顺序是()。
()是清代管理边疆少数民族地区事务的机关,也掌管一部分外交事务。
国民党政府宣布民盟为“非法团体”,民盟总部被迫解散的时间是()。
在一个8级中断的系统中,硬件中断响应从高到低的优先顺序是1→2→3→4→5→6→7→8,通过中断屏蔽技术,将中断处理优先顺序设置为1→3→5→7→2→4→6→8,如果CPU在执行一个应用程序时有5、6、7、8级的四个中断同时到达,CPU在按优先顺序处理到第
出现下列的情况可能导致死锁的是()。
随机试题
HowtoDealWithPressure?Withthecurrentmoodofglobal【C1】________(certain)andan【C2】________(economy)recession,people
制作FR-Ⅲ矫治器工作模型时,上颌的前庭沟应
流行病学研究对象的三个层次是指
运输霍乱弧菌的保存培养基为
关于GCL垫质量控制要点说法错误的是()。
丰达公司应收账款总分类共设“金星公司”和“宏伟公司”两个明细账,2010年7月份尚未完成的总账和明细账如下(单位:万元):要求:根据上述材料,回答下列问题:字母D和E的内容分别为()。
我们讲一切从实际出发,而我国最大的实际是:
矛盾的同一性在事物发展过程中的作用是
工人阶级执政党为之奋斗的崇高目标和根本任务是
Yourassignmentsthistermwillbetowritetwomajorresearchpapers.Oneofthemostimportantthingsaboutwritingaresearch
最新回复
(
0
)