写一个算法,计算给定二叉树的叶结点数。

考试资料网
2023-04-16 · 百度认证:赞题库官方账号
考试资料网
向TA提问
展开全部
【答案】:(1)数据结构
采用二叉树的链接表示。
(2)算法
int num_of_leaves(BinTree t){ /*计算二叉树的叶结点个数*/
if(t==NULL)return 0; /*空树,返回0*/
if(t->llink==NULL&&t->rlink==NULL)return 1;
/*根结点是树叶,返回1*/
return num_of_leaves(t->llink)+num_of leaves(t->rlink);
/*返回"左子树的叶结点数+右子树的叶结点数"*/
}
(3)代价分析
该算法访问每个结点各一次,时间代价为O(n),空间代价为O(h)。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式