数据l构W六章算法设计题[18]_跨考网
1Q二叉树(wi)排序Ҏ(gu)如下Q?/span>
Q?/span>1Q将W一个数据放在树(wi)栏V?/span>
Q?/span>2Q将随后d的数据与?wi)根中的数据相比较,若比树(wi)根大,则置于右子?wi)Q反之则|于左子?wi),建成一二叉树(wi)Q?/span>
Q?/span>3Q利用中序遍历打印排序结果?/span>
试用PASCAL?/span>C语言~写二叉?wi)的排序E序Qƈ分析其算法复杂性。?a target="_blank">江大学 1995 ?/span> (15?/span>)?/span>
【参考答案?/span>
BiTree creat()//生成q中序输Z叉排序树(wi)
{scanf(?/span>%c?/span>,&ch) //ch是二叉排序树(wi)l点值的cd变量Q假定是字符变量
BiTree bst=null,f=null;
while(ch!=?/span>#?/span>) //?/span>#’是输入l束标记
{s=(BiTree)malloc(sizeof(BiNode)); //甌l点
s->data=ch; s->lchild=s->rchild=null;
if (bst==null) bst=s; //根结?/span>
else //查找插入l点
{p=bst;
while(p)
if (ch>p->data) {f=p; p=p->rchild;} //沿右分枝?/span>,f是双?/span>
else {f=p; p=p->lchild;} //沿左分枝?/span>
if(f->data<ch) f->rchild=s; else f->lchild=s;}//?/span>sl点插入?wi)?/span>
scanf(?/span>%c?/span>,&ch); //d下一数据
} //while (ch!=?/span>#?/span>)
return(bst); } //l束 creat
void InOrder(BiTree bst) //bst是二叉排序树(wi)Q中序遍历输Z叉排序树(wi)
{if(bst)
{InOrder (bst->lchild); printf(bst->data); InOrder(bst->rchild); }
}//l束InOrder
2Q已知一二叉?wi)中l点的左叛_子ؓ(f)left?/span>rightQ?/span>p指向二叉?wi)的某一l点。请?/span>C?/span>PASCAL~一个非递归函数postfirst(p),?/span>p所对应子树(wi)的第一个后序遍历结炏V?a target="_blank" class="keylink">江大学1998 ?/span>(10?/span>)?/span>
【参考答案?/span>
[题目分析]二叉?wi)结?/span>p所对应子树(wi)的第一个后序遍历结?/span>q的求法如下:(x)?/span>p有左子树(wi)Q则q?/span>p的左子树(wi)上最左下的叶子结点;?/span>p无左子树(wi)Q仅有右子树(wi)Q则q?/span>p的右子树(wi)上最左下的叶子结炏V?/span>
BiTree PostFirst(p)
{BiTree q=p;
if (!q) return(null); else
while(q->lchild || q->rchild); //找最左下的叶子结?/span>
if(q->lchild) q=q->lchild; //优先沿左分枝向下L“最左下”的叶子l点
else q=q->rchild; //沿右分枝L“最左下”的叶子l点
return(q);
}
[法讨论]题目“求p所对应子树(wi)的第一个后序遍历结点”,蕴涵p是子?wi)的栏V若p是叶子结点,求其后要通过双亲?/span>
2022考研初复试已l接q尾壎ͼ考研学子全面q入2023届备?/b>Q跨考ؓ(f)23考研的考生准备?0大课包全E准备、全q复?fn)备考计划、目标院校专业辅对{全真复试模拟练?fn)和全程针对性指|2023考研的小伙伴针也已经开始择校和复习(fn)了,跨考考研畅学5.0版本全新升Q无Z在校在家都可以更自如的完成你的考研复习(fn)Q?/a>暑假集训?/span>带来了院校专业初步选择Q明方向;考研备考全q规划,核心知识点入门;个性化制定备考方案,助你赢在赯U,早出发一点离成功更q一点!
考研院校专业选择和考研复习(fn)计划 | |||
2023备考学?/td> | 2023U上U下随时学习(fn) | 34所自划UK校考研复试分数U汇?/td> | |
2022考研复试最全信息整?/a> | 全国各招生院校考研复试分数U汇?/a> | ||
2023全日制封闭训l?/span> | 全国各招生院校考研调剂信息汇?/a> | ||
2023考研先知 | 考研考试U目有哪些? | 如何正确看待考研分数U? | |
不同院校相同专业如何选择更适合自己?/a> | 从就业说考研如何择专业? | ||
手把手教你如何选专业? | 高校研究生教育各学科门类排行?/a> |
相关推荐
跨考考研评
班型 | 定向班型 | 开班时?/td> | 高定?/td> | 标准?/td> | 评介绍 | 咨询 |
U季集训 | 冲刺?/td> | 9.10-12.20 | 168000 | 24800?/td> | 班面授+专业??+专业译֮向辅?协议加强评(高定?+专属规划{疑(高定?+_化答?复试资源(高定?+复试译(高定?+复试指导(高定?+复试班主?v1服务(高定?+复试面授密训(高定?+复试1v1(高定? | |
2023集训畅学 | 非定向(政英?数政qQ?/td> | 每月20?/td> | 22800?协议? | 13800?/td> | 先行阶在U课E?基础阶在U课E?强化阶在U课E?真题阶在U课E?冲刺阶在U课E?专业NҎ(gu)一对一评+班主dE督学服?全程规划体系+全程试体系+全程_化答?择校择专业能力定位体p?全年关键环节指导体系+初试加强?初试专属服务+复试全科标准班服?/td> |