数据结构,计算二叉树结点数C语言实现-创新互联

树的存储结构

我们提供的服务有:网站设计、做网站、微信公众号开发、网站优化、网站认证、柳北ssl等。为上千企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的柳北网站制作公司
typedef struct BiTNode
{
    char data;
    struct BiTNode* lchild, * rchild;
}BiTNode, * BiTree;

代码实现

int GetNodeNumber(BiTree T)
{
    int count =0;
    if(T!=NULL)
    {
        count=GetNodeNumber(T->lchild)+GetNodeNumber(T->rchild)+1;//此处加的1为根节点
    //不能写成单独的,否则存在重复置0问题
    //GetNodeNumber(T->lchild);
    //GetNodeNumber(T->rchild)
    }   
    return count;
}

算法思路

采用递归实现,当根节点不为空时候,分别计算其左右孩子的根节点数,最后再加上其本身(+1)。而分别计算其左右孩子的根节点的时候,就可以对其进行一个递归运算,当其左右孩子结点分别作为根节点为空时,说明其没有左右孩子,此时单独加上一个根节点即可。

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


网站栏目:数据结构,计算二叉树结点数C语言实现-创新互联
地址分享:http://scyanting.com/article/dicdcs.html