C语言实现计算树的深度的方法
本文实例讲述了C语言实现计算树的深度的方法。是算法设计中常用的技巧。分享给大家供大家参考。具体方法如下:
/*
*Copyright(c)2011alexingcool.AllRightsReserved.
*/
#include<iostream>
usingnamespacestd;
structNode{
Node(inti=0,Node*l=NULL,Node*r=NULL):data(i),left(l),right(r){}
intdata;
Node*left;
Node*right;
};
Node*Construct(){
Node*node4=newNode(7,NULL,newNode(3));
Node*node3=newNode(4);
Node*node2=newNode(12);
Node*node1=newNode(5,node3,node4);
Node*root=newNode(10,node1,node2);
returnroot;
}
intGetTreeHeight(Node*root){
if(root==NULL)
return0;
returnmax(GetTreeHeight(root->left)+1,GetTreeHeight(root->right)+1);
}
voidmain(){
Node*root=Construct();
intheight=GetTreeHeight(root);
cout<<"treeheightis:"<<height<<endl;
}
希望本文所述实例对大家C程序算法设计的学习有所帮助。