首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
设排序二叉树中结点的结构由三个域构成:数据域data,指向左儿子结点的指针域left,指向右儿子结点的指针域right。 设data域为正整数,该二叉树树根结点地址为T。现给出一个正整数x。请编写非递归程序,实现将data域的值小于等于x的结点全部删除。
设排序二叉树中结点的结构由三个域构成:数据域data,指向左儿子结点的指针域left,指向右儿子结点的指针域right。 设data域为正整数,该二叉树树根结点地址为T。现给出一个正整数x。请编写非递归程序,实现将data域的值小于等于x的结点全部删除。
admin
2019-01-16
43
问题
设排序二叉树中结点的结构由三个域构成:数据域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
学硕统考专业
相关试题推荐
在下列各项中,不属于列宁《四月提纲》内容的是()。
解放军渡江战役中横渡长江的东西两个攻击点是()。
17世纪英国资产阶级革命中,曾利用了古老文件同专制王权作斗争。这一古老文件是()
下列不属于“一国两制”的基本内容的是()。
论述罗马共和国早期对外征服的过程和历史意义。
下列哪一个不是罗马王政时代的管理机构?()
列宁在《四月提纲》中指出,俄国的革命任务是()。
下列对近代社会思潮产生的先后顺序排列正确的是()。①人文主义②自由主义③理性主义④重商主义
假设磁头当前位于第105道,正在向磁道序号增加的方向移动。现有一个磁道访问请求序列为35,45,12,68,110,180,170,195,采用SCAN调度(电梯调度)算法得到的磁道访问序列是____。
不需要抢占的进程调度算法是()。
随机试题
下列哪种物质中毒具有缺氧和抑制酶的活力双重中毒机制
胰腺肿瘤中可致卓一艾综合征的是
糖皮质激素用于严重细菌感染的主要目的是
电路如图所示,其中运算放大器A的性能理想,若,那么电路的输出功率P。为()。
推销员李某在试用期因怀孕完不成规定的任务被聘用单位扣发工资并最终解除了劳动合同。如果李某不服,要求补发所扣工资,并继续履行劳动合同,依据《劳动合同法》,她应当向当地()提出申请。
铅笔:画笔:钢笔
2002年,地区L的劳动人口为地区H的百分之几?()2001年到2002年,地区L劳动人口增长速度为()。
古代埃及“宫廷学校”产生的背景。
C语言源程序名的后缀是()。
在秦始皇陵兵马俑博物馆,我们看到了那尊被称为“镇馆之宝”的跪射俑。导游介绍说,跪射俑是兵马俑中的精华,是中国古代雕塑艺术的杰作。仔细观察这尊跪射俑:它身穿交领右衽齐膝长衣,外披黑色铠甲,胫穿护腿,足穿方口齐头翘尖履。头绾圆形发髻。左腿曲蹲,右膝跪地,右足竖
最新回复
(
0
)