真题2001 双亲表示法求树中节点层次和树高

题目:已知有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;
}

猜你喜欢

转载自blog.csdn.net/qq_34636222/article/details/83617333