1.二叉树结点的平衡因子(bf)定义为该结点的左子树高度与右子树高度之差。设二叉树结点结构为:(lchild,data,bf,rchild),lchild,rchild 是左右儿子指针;data是数据元素;bf是平衡因子,编写递归算法计算二叉树中各个结点的平衡因子。【石油大学 1998 四、 (18分)】
【参考答案】
[题目分析] 由定义,结点的平衡因子bf等于结点的左子树高度与右子树高度之差,设计一遍历算法,在遍历结点时,求结点的左子树和右子树的高度,然后得到结点的平衡因子。
int Height(BiTree bt)//求二叉树bt的深度
{int hl,hr;
if (bt==null) return(0);
else {hl=Height(bt->lchild); hr=Height(bt->rchild);
if(hl>hr) return (hl+1); else return(hr+1);
} }// Height
void Balance(BiTree bt)
//计算二叉树bt各结点的平衡因子
{if (bt)
{Balance(bt->lchild); //后序遍历左子树
Balance(bt->rchild); //后序遍历右子树
hl=Height(bt->lchild); hr=Height(bt->rchild);//求左右子树的高度
bt->bf=hl-hr; //结点的平衡因子bf
} }//算法结束
2022考研初复试已经接近尾声,考研学子全面进入2023届备考,跨考为23考研的考生准备了10大课包全程准备、全年复习备考计划、目标院校专业辅导、全真复试模拟练习和全程针对性指导;2023考研的小伙伴针也已经开始择校和复习了,跨考考研畅学5.0版本全新升级,无论你在校在家都可以更自如的完成你的考研复习,暑假集训营带来了院校专业初步选择,明确方向;考研备考全年规划,核心知识点入门;个性化制定备考方案,助你赢在起跑线,早出发一点离成功就更近一点!
考研院校专业选择和考研复习计划 | |||
2023备考学习 | 2023线上线下随时学习 | 34所自划线院校考研复试分数线汇总 | |
2022考研复试最全信息整理 | 全国各招生院校考研复试分数线汇总 | ||
2023全日制封闭训练 | 全国各招生院校考研调剂信息汇总 | ||
2023考研先知 | 考研考试科目有哪些? | 如何正确看待考研分数线? | |
不同院校相同专业如何选择更适合自己的 | 从就业说考研如何择专业? | ||
手把手教你如何选专业? | 高校研究生教育各学科门类排行榜 |