欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

C数据结构-求二叉树的高度

程序员文章站 2022-03-23 09:19:42
...

C数据结构-求二叉树的高度

求高度的思想

用递归的思想去求二叉树的高度,什么是递归呢?有人说要理解递归就是要理解递归,这句话大家听着很懵比,是因为它的思想和我们正常人的思想不一样,它是调用它本身。求二叉树的高度其实可以比较左右子树的高度,取最高的高度+1=整根树的高度。

C语言代码

int getHeight(BiTree *p){
	int l,r,max;
	if(*p!=NULL){
		l=getHeight(&(*p)->lchild);
		r=getHeight(&(*p)->rchild);
		max=l>r?l:r;
		//这个是三目表达式,大家搜一下就知道了,
		//这里问号前面就等于是if语句,
		//然后冒号前就是true的语句,冒号后就是false的语句。
		return max+1;
	}else{
		return 0;
	}
}