首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
设排序二叉树中结点的结构由三个域构成:数据域data,指向左儿子结点的指针域left,指向右儿子结点的指针域right。 设data域为正整数,该二叉树树根结点地址为T。现给出一个正整数X。请编写非递归程序,实现将data域的值小于等于x的结点全部删除。
设排序二叉树中结点的结构由三个域构成:数据域data,指向左儿子结点的指针域left,指向右儿子结点的指针域right。 设data域为正整数,该二叉树树根结点地址为T。现给出一个正整数X。请编写非递归程序,实现将data域的值小于等于x的结点全部删除。
admin
2019-08-15
76
问题
设排序二叉树中结点的结构由三个域构成:数据域data,指向左儿子结点的指针域left,指向右儿子结点的指针域right。
设data域为正整数,该二叉树树根结点地址为T。现给出一个正整数X。请编写非递归程序,实现将data域的值小于等于x的结点全部删除。
选项
答案
利用二叉排序树的性质,从根结点开始查找,若根结点的值小于等于x,则根结点及其左子树均应删除,然后以右子树的根结点为树根,重新开始查找。若根结点的值大于x,则顺左子树向下查找,直到某结点的值小于等于x,则该结点及其左子树均应删除。下面设计一查找算法,确定被删除子树的根结点,再设计一删除算法,删除以被删结点为根的子树。 typedef struct node{ int data; struct node *left, *right; }BiTNode, *BSTree; void DelTree(BSTree r){ //非递归删除以r为根的二叉排序树 BSTree S[]; //栈,容量足够大,栈中元素是二叉排序树结点的指针 BSTree p; int top=0: while(r !=null ∣∣ top>0){ while(r!=null){S[++top]=r;r=r一>left;} //沿左分支向下 if(top>0) //退栈,沿栈顶结点的右子树向下删除,释放被删除结点空间 {p=S[top——];r=p一>right;free(P);} } }//DelTree void DeleteAllx(BSTree T,int x){ //在二叉排序树T中,删除所有小于等于x的结点 BSTree P=T,q; while(T&&T->data<=x){ //根结点的值小于等于x P=T;T=T一>right;p一>right=null; DelTree(P); } //删除二叉树P,删除持续到”根”结点值大于x或T为空树为止 if(T){ q=T;P=T一>left; while(P&&P一>data>x){ //沿根结点左分支向下,查小于等于x的结点 while(P&&p一>data>x){q=P;P=p一>left;} //q记P的双亲 if(P) //p结点的值小于等于X { q->left=P一>right;p一>right=null;DelTree(P); } p=q->left: //再查原p的右子树中小于等于x的结点 } } }
解析
转载请注明原文地址:https://kaotiyun.com/show/s0Ci777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
阅读下面史料,回答问题:材料一各缔约国主力舰替换总吨位按照标准排水量计算不得超过如下:合众国525000吨;英帝国525000吨;法国175000吨;意大利175000吨;日本315000吨。
下图是某模型机CPU的组成框图。设该CPU采用同步控制逻辑,分取指周期、取第一操作数周期,取第二操作数周期、执行周期四个机器周期,每个机器周期有T0、T1、T2三个节拍。试写出如下双操作数运算指令的微操作命令及节拍安排。ADDR0,(R1)完成功
设磁盘的扇区大小为4KB,磁盘转速为15000r/min,磁盘平均寻道时间为4ms,最大数据传输速率为40MB/s,磁盘控制器开销时问为1ms,计算读写一个扇区所需平均时间(不考虑I/O请求队列中的等待时间)。
下列描述中,属于冯.诺依曼体系结构的特点是()。①采用流水线技术;②指令和数据均以二进制表示;③存储程序并且存储时不区别数据和指令。
下列选择中,()不是操作系统关心的主要问题。
设计一个算法,求无向图G(采用邻接表存储)的连通分量个数。
关于分页系统,回答下列问题:(1)在页表中,哪些数据项是为实现换页而设置的?(2)设某系统为每个作业进程分配3个内存块,某作业进程在运行访问中的轨迹为1,4,3,1,6,8,1,且每一页都是按请求装入的。问:先进先出页面置换算法(FIF
假设二叉树采用二叉链表存储结构存储,试设计一个算法,求出该二叉树中第一条最长的路径长度以及此路径上各结点的值。
某32位计算机系统采用段页式虚拟存储管理,现有一个进程被分成5段,其段号和段长见下表,段内分页,页表见下,存放在内存中,每页的长度为4096B。进程运行到某一个指令,其地址为(2,3,010),当前CPU的寄存器和地址加法器的状态如图所示,当上述指令执行时
关于DMA方式和通道方式,下列说法中错误的是()。
随机试题
A.胃左淋巴引流区B.隆突下和胃左引流区C.锁骨上淋巴引流区D.上纵隔淋巴引流区E.中上纵隔淋巴引流区食管下段癌三维适形放疗靶区除包括原发灶外,还应包括
95%的代谢产物自胆汁中排泄老年、轻型的糖尿病患者适合选用
设随机变量(X,Y)服从二维正态分布,其概率密度为f(x,y)=,则E(X2+Y2)等于()。
一、注意事项1.《申论》考试,与传统作文考试不同,是对分析驾驭材料的能力与对表达能力并重的考试。2.作答参考时限:阅读资料40分钟,作答110分钟。3.仔细阅读给定的资料,然后按“申论要求”依次作答。二、给定资料1.依照我
A.temperatureB.specialC.thinkD.otherPhrases:A.havecreateda【T13】______techniqueB.【T14】______ofeatingthepeelC.a
下列()情况下,一般不会导致冲突的发生。
下列关于网络管理标准的叙述,错误的是
ThescientistandagriculturalinnovatorGeorgeWashingtonCarveraidedtheeconomyoftheSouthbydevelopinghundredsofcomme
Theresultoftheexperimentwasnot______topublish.
Giventheadvantageofelectronicmoney,youmightthinkthatweshouldmovequicklytothecashlesssocietyinwhichallpaymen
最新回复
(
0
)