首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
设排序二叉树中结点的结构由三个域构成:数据域data,指向左儿子结点的指针域left,指向右儿子结点的指针域right。 设data域为正整数,该二叉树树根结点地址为T。现给出~个正整数x。请编写非递归程序,实现将data域的值小于等于x的结点全部
设排序二叉树中结点的结构由三个域构成:数据域data,指向左儿子结点的指针域left,指向右儿子结点的指针域right。 设data域为正整数,该二叉树树根结点地址为T。现给出~个正整数x。请编写非递归程序,实现将data域的值小于等于x的结点全部
admin
2018-08-12
73
问题
设排序二叉树中结点的结构由三个域构成:数据域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 =pT,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/JMRi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
下面哪项条约没有涉及德国的赔款问题?()
开皇五年,文帝规定每年正月五日县令出查,令百姓五党三党为一团,根据标准定户等上下,从轻制定税额,并将各户应纳税额写成定簿,是为()。
周人重视婚姻,对婚礼尤为讲究。周代的婚礼有六项程序,即:①纳征②问名③纳采④请期⑤亲迎⑥纳吉下列选项顺序排列正确的是()
“二战”后,联合国的成立反映了世界人民和平的愿望,下列叙述正确的是()。
对《魏玛宪法》的内容和影响叙述不正确的是()。
晚清时期清帝年号的正确排序是
唐顺宗时,以王叔文、王侄为首的朝臣与宦官之间发生的冲突,称为()。
试编写一个非递归算法,实现求以二叉链表存储的二叉树中q结点的祖先。
设计一个算法,求无向图G(采用邻接表存储)的连通分量个数。
下列几种排序方法中,要求内存量最大的是()。
随机试题
天然的雄激素是:
简述教学模式的种类。
在社会主义市场经济条件下,加强医德建设,可以
张女士,57岁,化工厂退休职工,肥胖,绝经5年。高血压史20余年。因两次出现阴道流血,来社区卫生站咨询是否需进一步诊治。医生建议她应去中心医院明确诊断。张女士被诊断为子宫内膜癌,没有发现转移病灶。该病首选治疗方案是
按照承揽合同的法律规定,下列关于定作人义务的表述中,正确的是()。
《浙江省旅游管理条例》规定,发展旅游业应当实行()主导。
导游将散客旅游者接到饭店后应做好的工作有()。
按照设计图想象自己未来家的样子,这属于()。
【给定资料一】中国人讲究礼尚往来,逢年过节来往走动,互赠礼物,互祝安康,也是美好情谊的表达。特别是在结婚这样的喜事上更是讲究礼尚往来。操办婚礼无可厚非,但是动辄十几万甚至几十万的彩礼、几百几千的份子钱,亲朋好友连吃多天的婚宴酒席等大操大办、铺张浪
Youknowyouhavetoread"betweenthelines"togetthemostoutofanything.Iwanttopersuadeyoutodosomethingequallyim
最新回复
(
0
)