已知一棵二叉树是以二叉链表的形式存储的,其结点结构说明如下: struct node { int data; struct node *

已知一棵二叉树是以二叉链表的形式存储的,其结点结构说明如下:structnode{intdata;structnode*left;structnode*right;};要... 已知一棵二叉树是以二叉链表的形式存储的,其结点结构说明如下:

struct node
{

int data;
struct node * left;
struct node * right;

};

要求写出2个具有下面功能的算法:
①、求出以T为根的子树的结点个数。
②、求出以T为根的子树的高度。
展开
 我来答
百度网友e538a4c
2010-11-27 · 超过10用户采纳过TA的回答
知道答主
回答量:36
采纳率:0%
帮助的人:22.8万
展开全部
#include<stdio.h>
#include<stdlib.h>

/*①、求出以T为根的子树的结点个数。
②、求出以T为根的子树的高度。*/

typedef struct node
{
int data;
struct node * left;
struct node * right;
}BiTNode,*BiTree;

/*①、求出以T为根的子树的结点个数。*/
void CountLeaf (BiTree T, int& count)
{ //递归方法,
if ( T )
{
if ((!T->lchild)&& (!T->rchild))
count++;
CountLeaf( T->lchild, count); // 统计左子树中叶子结点个数
CountLeaf( T->rchild, count); // 统计右子树中叶子结点个数
}
}

/*②、求出以T为根的子树的高度。*/
int Depth(BinTree *T)
{
int dep1,dep2;
if(T==Null) return(0);
else
{
dep1=Depth(T->lchild);
dep2=Depth(T->rchild);
return dep1 > dep2 ? dep1 +1 : dep2 + 1;
}
jkgyu
2010-11-25 · TA获得超过106个赞
知道答主
回答量:45
采纳率:0%
帮助的人:0
展开全部

进百度我的空间,里面有

地址:http://hi.baidu.com/wehgjh/home

或者你百度jkgyu的空间也行

下面是运行后截图

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式