这是有关二叉树的题目谁能帮我解下~~!谢谢了

来源:百度知道 编辑:UC知道 时间:2024/06/18 11:05:33
二叉树以二叉链表为存储结构,结点结构定义如下,请写出一个求二叉树中叶结点个数的算法.
typedef struct btnode*btlink;
struct btnode{
TreeItem element;
btlink left;
btlink right;
}Btnode;

谁能帮我解答下 越详细越好~~!! 谢谢了!!

这个不就是遍历算法的运用吗?
你可以分别选择前序、中序或者是后序的遍历方法
每次在最里层的递归结束结束的时候输出最后那个节点就是叶子节点了。
由于太久没有接粗过数据结构的东西了,所以编程的东西忘记了,大概给了一下算法。你可以自己考虑一下

随便找个二叉树遍历算法.
设置一个全局变量初始化为0,遍历中增加一条语句,当某结点left和right指针都为空的时候,将其值加1.遍历完毕,结果当然就是叶结点数量了.