首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
二叉排序树采用二叉链表存储。写一个算法,删除结点值是X的结点。要求删除该结点后,此树仍然是一棵二叉排序树,并且高度没有增长(注意:可不考虑被删除的结点是根的情况)。
二叉排序树采用二叉链表存储。写一个算法,删除结点值是X的结点。要求删除该结点后,此树仍然是一棵二叉排序树,并且高度没有增长(注意:可不考虑被删除的结点是根的情况)。
admin
2019-08-01
60
问题
二叉排序树采用二叉链表存储。写一个算法,删除结点值是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->lchild=p->rchild;//将被删结点的右子树接到其双亲上 else f->rchild=p->rchild; } else{q=p;s=p->lehild; //被删结点有左子树 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://jikaoti.com/ti/5LGjFFFM
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
我国第一部系统的史学理论著作是()。
在五四运动中,站在最前列,起了先锋作用的是()。
顺帝时,()学道于蜀地鹄鸣山中,以道书招致信徒,通道者出米五斗,有病则令自首其过。这就是五斗米道。
在太平天国时期,对晚清兵制以及政局产生深远影响的是()。
日本三个月亡华计划破产的标志是()。
隋唐五代时期是中国古代商品经济发展史上的一个重要阶段,种类多,交换规模大,交换方式多。试回答问题:下列关于隋唐钱币的表述,不正确的是()
一个在以太网中的主机试图发送一个帧,当它尝试了16次仍然失败之后,它应该()。
若二叉树的前序序列为DABCEFG,中序序列为BACDFGE,则其层次序列为()。
在一个双链表中,在*p结点之前插入*q结点的操作是()。
IEEE754标准规定的64位浮点数格式中,符号位为1位,阶码为11位,尾数为52位。则它所能表示的最小规格化负数为()。
随机试题
[A]Marktheheadway[B]Celebratethelittlewins[C]Exerciseislikeaninvestment[D]Makegoodchoices
全国人民代表大会的职权有:_________;_________;_________;_________。
处方调配制度中的"三查七对"原则,其中"三查"是指:
A.短暂双侧瞳孔散大B.一侧瞳孔散大,对侧肢体瘫痪C.单侧瞳孔散大,睑下垂,神志清醒D.双侧瞳孔大小多变,不等圆E.双侧瞳孔散大,对光反应消失濒死现象发生则出现
银屑病鳞屑临床表现是
会阴是指
由社会剩余物资的交换和争夺而产生的,也是社会分工和产业分工的产物的是()。
简述当代教学方法改革与发展的基本特征。
设b>a>0,证明:(b-a)/b<lnb/a<(b-a)/a.
Shemanagedtosave______shecouldoutofherwagestohelpherbrother.
最新回复
(
0
)