早教吧 育儿知识 作业答案 考试题库 百科 知识分享

已知二叉树中的结点类型用BtreeNode表示,被定义为:structBtreeNode{chardata;structBtreeNode*left;structBtreeNode*right;};其中data为结点值域,left和right分别为指向左、右孩子结点的指针域,根据下面函数

题目详情
已知二叉树中的结点类型用BtreeNode表示,被定义为:
struct BtreeNode
{
char data;
struct BtreeNode *left;
struct BtreeNode *right;
};
其中data为结点值域,left和right分别为指向左、右孩子结点的指针域,根据下面函数声明编写求一棵二叉树高度的算法,该高度由函数返回.假定根结点的层次为1,参数BT初始指向这棵二叉树的根结点.int BTreeDepth(BtreeNode *BT);
▼优质解答
答案和解析
int BTHeight(BTNode*bt)
{ int lh,rh;
if(bt==NULL) return(0);/*空树的高度为0*/
{ lh=BTHeight(bt->lchild); /*求左子树的高度为lh*/
rh=BTHeight(bt->rchild); /*求右子树的高度为rh*/
return(lh>rh)?(lh+1):(rh+1);
}
}