首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
设排序二叉树中结点的结构由三个域构成:数据域data,指向左儿子结点的指针域left,指向右儿子结点的指针域right。 设data域为正整数,该二叉树树根结点地址为T。现给出一个正整数X。请编写非递归程序,实现将data域的值小于等于x的结点全部删除。
设排序二叉树中结点的结构由三个域构成:数据域data,指向左儿子结点的指针域left,指向右儿子结点的指针域right。 设data域为正整数,该二叉树树根结点地址为T。现给出一个正整数X。请编写非递归程序,实现将data域的值小于等于x的结点全部删除。
admin
2019-08-15
31
问题
设排序二叉树中结点的结构由三个域构成:数据域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://jikaoti.com/ti/ZoGjFFFM
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
“使日本所窃取于中国之领土,例如满洲、台湾、澎湖列岛等,归还中华民国。”作出这一规定的国际文献是()
经六朝时期的发展,南方形成了三个农业发达地区即()。
在1875年宪法中关于法国立法权的叙述,不正确的是()。
下列长征事件的正确顺序是()。 ①四渡赤水②召开遵义会议③吴起镇会师④飞夺泸定桥
下列不是春秋时代齐国管仲改革的内容的是()。
论述秦国商鞅变法的内容、过程以及重要意义。
下列描述中,属于冯.诺依曼体系结构的特点是()。①采用流水线技术;②指令和数据均以二进制表示;③存储程序并且存储时不区别数据和指令。
将两个长度为N的有序表归并到一个长度为2N的有序表,最少需要比较的次数是(),最多需要比较的次数是()。
当向一棵m阶的B一树做插入操作时,若一个结点中的关键字个数等于(),则必须分裂成两个结点,当向一棵m阶的B一树做删除操作时,若一个结点中的关键字个数等于(),则可能需要同它的左兄弟或右兄弟结点合并成一个结点。
以下有关m阶B一树的说法中正确的有()。Ⅰ.每个结点至少有两棵非空子树Ⅱ.树中每个结点至多有m-1个关键字Ⅲ.所有叶子在同一层上Ⅳ.当插入一个数据项引起B-树结点分裂后,树长高一层
随机试题
浓硫酸具有氧化性属于硫酸的化学性质。
A.膀胱B.大肠C.小肠D.三焦E.胃“受盛之官”是指
设Ω是由x2+y2+z2≤2z及z≤r2+y2所确定的立体区域,则Ω的体积等于:
编制材料消耗定额时,材料净用量的确定方法有( )。
德育起于道德认识教育,终于道德行为。()
政策的权威性源于政策的合法性,具备合法性的政策就必然具有权威性。()
下列说法中不属于访问前准备工作内容的是()
下列关于软件性能测试的说法中,正确的是______。A)性能测试的目的不是为了发现软件缺陷B)压力测试与负载测试的目的都是为了探测软件在满足预定性能需求的情况下所能负担的最大压力C)性能测试通常要对测试结果进行分析才能获得测试结论D)在性能
在三级模式之间引入两级映像,其主要功能之一是()。
Thetwoscholarsworkedatthetaskofwritingaprefacetothenewdictionaryforthreehours______lastnight.
最新回复
(
0
)