| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1530 人关注过本帖
标题:用 递归算法统计二叉树的叶子数目。
取消只看楼主 加入收藏
petronella
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2008-5-11
收藏
 问题点数:0 回复次数:1 
用 递归算法统计二叉树的叶子数目。
算法我会,可是程序就搞不清楚了。请帮忙。国际

[[it] 本帖最后由 petronella 于 2008-5-12 22:23 编辑 [/it]]
搜索更多相关主题的帖子: 二叉树 递归 算法 叶子 统计 
2008-05-11 15:41
petronella
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2008-5-11
收藏
得分:0 
是这样的,总也该不对啊,犯愁哦。
#include "stdio.h"
#include"stdlib.h"
typedef char DataType;
typedef struct BiTNode
{
    DataType data;
    struct BiTNode *lchild,*rchild;
}BiTNode,*BiTree;
void CreatBiTree(BiTree *T)
{
    char ch;
    ch=getchar();
    if(ch==' ')T=NULL;
    else
    {
        if(!(T=(BiTNOde*)malloc(sizeof(BiTNode)))exit(OVERFLOW)
        T->data=ch;
    CreatBiTree(T->lchild);
    CreatBiTree(T->rchild);
    }
}
    void Node(BiTree T)
    {
        int static nodes=0;
        if(T)
        {
            Node(T->lchild);
            nodes++;
            Node(T->rchild);
            nodes++
        }
        return nodes;
    }
    void Leaf(BiTree T)
    {
        int static leaves=0;
        if(T)
        {
            leaf(T->lchild);
            if(!(T->lchild||T->rchild))
            leaves++;
            Leaf(T->rchild);
        }
        return leaves;
    }
void main()
{
    int nodes,leaves,root;
    nodes=0,leaves=0;
    int BiTree root;
    CreatBiTree(&root);
    nodes=Node(root);
    leaves=Leaf(root);
    printf("\n nodes=%d leaves=%d",nodes,leaves);
   
}
2008-05-12 22:19
快速回复:用 递归算法统计二叉树的叶子数目。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.011323 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved