首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
设二叉排序树用二叉链表表示,结点结构为(lchild,data,rchild),其中,data为整形,指针lchild和rchild分别指向左右孩子。 给定一棵递增有序的二叉排序树(前序遍历得递增有序序列),根指针为root,试写出算法:将该二叉排序树转
设二叉排序树用二叉链表表示,结点结构为(lchild,data,rchild),其中,data为整形,指针lchild和rchild分别指向左右孩子。 给定一棵递增有序的二叉排序树(前序遍历得递增有序序列),根指针为root,试写出算法:将该二叉排序树转
admin
2017-04-28
63
问题
设二叉排序树用二叉链表表示,结点结构为(lchild,data,rchild),其中,data为整形,指针lchild和rchild分别指向左右孩子。
给定一棵递增有序的二叉排序树(前序遍历得递增有序序列),根指针为root,试写出算法:将该二叉排序树转变为递减有序的二叉排序树(前序遍历得递减有序序列),返回根指针;
选项
答案
对于如图3—16a所示的子树,假设根节点P的左子树和右子树都已经经过调整而达到题目的要求,rm结点为右子树前序遍历的最后一个结点,由于P的左子树ltree的元素都小于右子树rtree的任意元素,所以图3—16a右边所示的树是满足题目要求的。类似地,在没有左子树(右子树)的情况下,按方案图3—16b(或图3—16c)调整该树得到的结果是满足要求的。我们可以按递归的方式,对于不同的情况,用图3 —16a、b、c所示三种规则对树进行调整。 [*] 代码如下:Node* reverseTree{Node *p,Node *m){ Node *1, *r, *lm, *rm; if{p—>rchild! =NULL)r=reverseTree (p—>rchild,rm); //递归处理右子树 if(p—>lchild! =NULL)l=reverseTree (p—>lchild,lm); //递归处理左子树 Node *q= (Node *)malloc(sizeof (Node)); //申请并初始化新结点q q—>data=p—>data; q—>lchild=q—>rchild=NULL; m=q; if <r!=NULL) //若递归返回之后右子树不空 { if(1!=NULL) rm—>lchild=1, //若递归返回之后左子树不空 rm— >rchild=q; //结点q作为右孩子 return r; //返回调整后的树 } if(1!=NULL) //若递归返回之后左子树不空 { lm—>lchild=q; //结点q作为左孩子 return 1; //返回调整后的树 } return q;}
解析
转载请注明原文地址:https://kaotiyun.com/show/3PRi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
鸦片战争中,林则徐被革职查办反映的问题是()。
克里特文明的文字类型是()。
周人重视婚姻,对婚礼尤为讲究。周代的婚礼有六项程序,即:①纳征②问名③纳采④请期⑤亲迎⑥纳吉下列选项顺序排列正确的是()
新石器时代的房屋建筑根据环境的不同形成了不同的类型,()地区多为干栏式建筑。
改革开放以来,乡镇企业的异军突起,其重要意义包括()①改变了公有制经济的主体地位②推动了农村产业结构的现代化进程③加快了农村的现代化进程④开辟了农民致富的新途径
新石器时代的房屋建筑根据环境的不同形成了不同的类型,()地区多为干栏式建筑。
北约和华约两个组织对峙近半个世纪,其影响是()。
论述欧洲一体化进程及其影响。
随机试题
Theboy________youmetatthepartycamehereagainthismorning.
下列关于自体输血的描述,不正确的是
浆膜腔积液中最常见的肿瘤类型是
艾滋病慢性活动性乙型肝炎
此患者最可能的诊断是若此患者确定诊断后行开腹术,术中取腹水找到癌细胞,其处理正确的是
工程建设拟征用基本农田以外的耕地超过()的,由国务院批准。
对项目的监督检查,主要通过()方式进行。
中国共产党根据马克思列宁主义关于农业社会主义改造的思想,从我国的实际出发,开创了一条有中国特色的合作化道路,成功地实现了对个体农业的社会主义改造,其历史经验主要有()
Shynessisthecauseofmuchunhappinessforagreatmanypeople.Shypeopleareanxiousandself-conscious;thatis,theyaree
A、Hehasbuiltoneelectricguitarbefore.B、Heknewexactlyhowtofixaguitar.C、HeislearningtobuildtheguitarinVirgin
最新回复
(
0
)