首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
设排序二叉树中结点的结构由三个域构成:数据域data,指向左儿子结点的指针域left,指向右儿子结点的指针域right。 设data域为正整数,该二叉树树根结点地址为T。现给出一个正整数X。请编写非递归程序,实现将data域的值小于等于x的结点全部删除。
设排序二叉树中结点的结构由三个域构成:数据域data,指向左儿子结点的指针域left,指向右儿子结点的指针域right。 设data域为正整数,该二叉树树根结点地址为T。现给出一个正整数X。请编写非递归程序,实现将data域的值小于等于x的结点全部删除。
admin
2019-08-15
88
问题
设排序二叉树中结点的结构由三个域构成:数据域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
学硕统考专业
相关试题推荐
下列哪部戏剧不是曹禺的作品()。
战时共产主义政策中对后来的工农联盟最能构成威胁的是()。
在一个长度为n(n>1)的带头结点的单链表h上,设有尾指针r(指向尾结点),则执行()操作与链表的长度有关。
Demandpaging算法是paging算法在虚拟存储空间管理的扩展。其主要的改进是:仅当需要访问某页面时,如果它不在内存,把它调入内存。按照这个思路,将segmentation算法(段式存储管理算法)扩展到虚拟存储空间管理,也可以产生类似的算法,不妨
某网络的拓扑结构由下图所示,其中顶点表示路由器。该网络的路由器采用了链路状态路由算法,在某一时刻各个路由器发送的链路状态如下:A:B(1),D(3)B:A(1),D(1),C(3),E(5)C:B(3),D(1)D:A(3),B(1
假设有k个关键字互为同义词,若用线性探查法把这k个关键字存入,至少要进行的探查次数是()。
(将关键字序列(7、8、30、11、18、9、14)散列存储到散列表中。散列表的存储空间是一个下标从0开始的一维数组,散列函数为H(key)=(keyx3)MOD7,处理冲突采用线性探测再散列法,要求装填(载)因子为0.7。分别计算等概率情况下查找成功
设无向图G=(V,E)和G’=(V’,E’),如果G’是G的生成树,则下面说法中错误的是()。
设有3阶B一树,如图1-4所示。在该B一树上依次插入关键字33和97。试画出两次插入后的B-树。
当向一棵m阶的B一树作插入操作时,若一个结点中的关键字个数等于(),则必须分裂成两个结点,当向一棵m阶的B一树作删除操作时,若一个结点中的关键字个数等于(),则可能需要同它的左兄弟或右兄弟结点合并成一个结点。
随机试题
王某、张某二人拟于2006年设立一家有限责任公司,王某用货币出资,张某用专利技术出资,注册资本拟为3万元,以下说法正确的是()
下列有关工程勘察的一般要求的说法中,正确的有()。
一般情况下,焊接厚度为3.5mm的焊件,选用的焊条直径是()。[2014年真题]
无形资产的摊销年限,可以按()确定。
材料一:一种好的教学方法对教学的顺利开展并且获得优异的成效,具有重要意义。材料二:2015级思想政治教育班的同学在实习时,王老师向他们讲授教学技巧,王老师说:“教学有多种方法,每一种方法都有其独特的效果,但是我们选择哪种教学方法,应根据教学内容和学生的具
甲、乙婚后生有一女丙,后丙与丁结婚,生有一子戊,甲与丙在旅游途中,因飞机失事同时死亡,无法证明死亡先后时间,甲、丙均留有遗产若干,对其遗产继承,下列说法中正确的是()。
某服装如果降价200元之后再打8折出售,则每件亏50元。如果直接按6折出售,则不赚不亏。如果销售该服装想要获得100%的利润,需要在原价的基础上加价多少元?()
以下哪一项不属于银行业监督管理机构的职责?()
近年来,我国各地出台了一系列关于老年人权益保障的具体规定,比如,对老年人搭乘公共交通工具,应当给予便利和优惠;老年人持有效证件可以免费乘坐市内公共交通工具。对此,下列说法中正确的有()(2012年一法综一第22题)
Totalinvestmentsforthisyearreached$56million,andtoputthisinto______investmentsthisyearwilldoublethosemadei
最新回复
(
0
)