回 帖 发 新 帖 刷新版面

主题:“统计二叉树叶子结点程序”

哪位大侠能帮忙编写(用c语言)数据结构编程“统计二叉树叶子结点程序”[em10]
[em10][em10][em10]

回复列表 (共5个回复)

沙发

int leaf(BTCHINALR *bt)
{
int n=0;
if(bt==NULL)
   n=0;
else
  if(bt->lchild==NULL&&bt->rchild==NULL)
    n=1;
else
   n=leaf(bt->lchild)+leaf(bt->rchild);
return n;
}

板凳

一个小递归这么简单1
baoby2000.blog.163.com

int num(struct node *t)
{
if(t==NULL)
 return 0;
else if(t->lchild==MULL)&&(t->rchil==NULL)
 retunr 1;
else return num(t->lchild)+(t->rchild);
}

[em12]

3 楼

不是这么简单,是一个课程设计要求用C语言编一个,完整的程序(要有主函数,调用)而且要可以运行,谢谢上面两位,呵呵,麻烦大家再帮忙想想,急!!!!!

4 楼

考虑先序遍历建树,后续遍历找没有左孩子和有孩子的节点就行了!

5 楼

直接dfs

我来回复

您尚未登录,请登录后再回复。点此登录或注册