Advertisement

求二叉树的深度(C语言)

阅读量:

函数接口定义:

复制代码
    int Depth(BiTree T);

T是二叉树树根指针,函数Depth返回二叉树的深度,若树为空,返回0。

裁判测试程序样例:

复制代码
    #include <stdio.h>
    #include <stdlib.h>
    
    typedef char ElemType;
    typedef struct BiTNode
    {
    	ElemType data;
    	struct BiTNode *lchild, *rchild;
    }BiTNode, *BiTree;
    
    BiTree Create();/* 细节在此不表 */
    
    int Depth(BiTree T);
    
    int main()
    {
    	BiTree T = Create();
    
    	printf("%d\n", Depth(T));
    	return 0;
    }
    /* 你的代码将被嵌在这里 */

二叉树的深度即为其结构中的最大层数;该值等于左右子树深度中的较大值加一;空树的深度定义为零。

复制代码
    int Depth (BiTree T)
    {
    	if(T==NULL){
    		return 0;
    	}
    	else{
    		if(Depth(T->lchild) > Depth(T->rchild)) return (Depth(T->lchild) + 1);
    		else return (Depth(T->rchild) + 1);
    	}
    }

全部评论 (0)

还没有任何评论哟~