您的位置:首页 > 其它

求二叉树的高度、结点数和叶结点数

2012-09-10 21:21 176 查看
1.程序代码(高度):

  int depth(BinTree t)

  {

    if(t == NULL)

      return 0;

    int dl = depth(t->llink);

    int dr = depth(t->rlink);

    return (dl>dr ? dl : dr)+1;

  }

2.程序代码(结点数):

  int num_of_nodes(BinTree t)

  {

    if(t == NULL)

      return 0;

    return 1+num_of_nodes(t->llink)+num_of_nodes(t->rlink);

  }

3.程序代码(叶结点数):

  int num_of_nodes(BinTree t)

  {

    if(t == NULL)

      return 0;

    if(t->llink == NULL && t->rlink == NULL)

      return 1;

    return num_of_nodes(t->llink)+num_of_nodes(t->rlink);

  }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐