首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
设排序二叉树中结点的结构由三个域构成:数据域data,指向左儿子结点的指针域left,指向右儿子结点的指针域right。 设data域为正整数,该二叉树树根结点地址为T。现给出一个正整数x。请编写非递归程序,实现将data域的值小于等于x的结点全部删除。
设排序二叉树中结点的结构由三个域构成:数据域data,指向左儿子结点的指针域left,指向右儿子结点的指针域right。 设data域为正整数,该二叉树树根结点地址为T。现给出一个正整数x。请编写非递归程序,实现将data域的值小于等于x的结点全部删除。
admin
2019-01-16
55
问题
设排序二叉树中结点的结构由三个域构成:数据域data,指向左儿子结点的指针域left,指向右儿子结点的指针域right。
设data域为正整数,该二叉树树根结点地址为T。现给出一个正整数x。请编写非递归程序,实现将data域的值小于等于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/SlRi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
下列哪个文件标志着“文化大革命”的发起?()
著名的绥靖政策文件《霍尔—赖伐尔协定》是英、法与意大利签订的,密谋发动()。
我国生铁冶炼技术最早出现于()。
1543年,发表了解剖学专著《人体结构》的是()。
佛教在从印度向外传播的过程中分为两大流派,其中小乘佛教又称为()。
宋代至清代我国书籍印刷的主要方式是()
列宁在《四月提纲》中指出,俄国的革命任务是()。
列宁称马克思、恩格斯是“19世纪人类三个最先进国家中三种主要思潮的继承人和天才的完成者”。这里“三个最先进国家”指的是()。
20世纪50年代到70年代初,西欧国家通过有效的社会经济政策,维持了经济相对稳定和持续发展。这些政策主要包括()①加强对经济的宏观管理②废除生产关系中封建落后因素③发展高科技和新兴产业④进行社会改革,稳定社会
到1869年为止,人类已发现了多少种化学元素()。
随机试题
甲仓库有100吨的货物要运送到乙仓库,装载或者卸载每吨货物需要耗时6分钟,货车到达乙仓库后,需要花15分钟进行称重,而汽车每次往返需要2小时。则使用一辆载重15吨的货车可以比载重12吨的货车少用多少时间?
Itiseasierto______aconversationwithothersbytalkingabouttheweather.
下列哪种疾病不是稀释式自身输血的禁忌证
影响影像锐利度的因素是
开发利用水资源,应当服从()的总体安排,实行兴利与除害相结合的原则。
计提教育费附加时应借记“主营业务税金及附加”账户,贷记()账户。
下列营业项目,营业税的扣缴义务人是( )。
Forthepast10,000yearshumanshaveinfluencedtheplantstheyuseatfirstunknowingly,laterbydesign.Today’scropshave
Thetaxidriverwasamaninhislatethirties.Hepickedmeupand【C1】________metomyplace.Iusuallyliketohavebrief【C
Whatisthebestlayoutforthehouses?
最新回复
(
0
)