题目:已知有n个结点的树以双亲表示法存储在一维数组中。请设计一个算法求树中每个结点的层次和树的高度,将求得的每个结点的层次保存在一维数组C中,并分析你所设计的算法的时间复杂度。
int Depth(PTree t){
//编写求双亲表示法表示的树的深度的算法
int maxdepth=0 , i, temp, f; //设初始深度为0
for(i=0;i<t.n;i++){ //t.n表示树t的第n个结点
temp=0;
f=i;
while(f > -1 ){
temp++;
f=t.nodes[f].parent;
}
if(temp>maxdepth) maxdepth=temp;
}
return maxdepth;
}