关于统计二叉树中度数为一的结点个数算法很不理解 求高手赐教!!! 详细点

论坛 期权论坛 期权     
草莓鼻2BB   2018-4-28 02:21   5805   2
统计二叉树中度为1的结点个数。
template  
int BinaryTree :: Degrees1 ( BinTreeNode * t ) const {
    if ( t == NULL ) return 0;
    if ( t->leftChild != NULL && t->rightChild == NULL ||
    t->leftChild == NULL ...统计二叉树中度为1的结点个数。
template
int BinaryTree :: Degrees1 ( BinTreeNode * t ) const {
    if ( t == NULL ) return 0;
    if ( t->leftChild != NULL && t->rightChild == NULL ||
    t->leftChild == NULL && t->rightChild != NULL ) return 1;//我非常不理解这里 既然都返回1了,那后面继续递归,如果还有度数为一的结点那怎么办呢,为什么没有设定一个count统计数目呢 这样子递归能实现么???
    return Degrees1 ( t->leftChild, k ) + Degrees1 ( t->rightChild, k );
}展开
分享到 :
0 人收藏

2 个回复

倒序浏览
2#
wangping301  1级新秀 | 2018-4-30 01:12:50
你这个是间接递归:
有两个函数数:Degrees1 ( BinTreeNode * t )
及:Degrees1 ( t->leftChild, k )

你分别看看这两个函数的实现应该能明白
3#
Diana_24  4级常客 | 2018-4-30 01:12:51
有这么一种可能,一直都是度数为1的结点二叉树一直到底,所以还需要递归,只有递归到底才能实现所有的度数为1的二叉树的结点个数的统计啊~
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:
帖子:
精华:
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP