计算任何一种树的直径?

时间:2013-11-04 15:26:33

标签: algorithm graph-algorithm pseudocode

如何设计一种算法,以线性时间计算(图理论)无向,全边缘有重量1树的直径?树的直径由两个顶点之间的最长路径的长度给出。

有关如何解决这个问题的想法吗?

1 个答案:

答案 0 :(得分:7)

让v1成为树中的任何顶点。

从v1进行深度优先搜索以获得v1中所有其他顶点的距离,选择v2作为距离最远的顶点。

从v2进行深度优先搜索以获得v2中所有其他顶点的距离,选择v3作为距离最远的顶点。

D(v2,v3)是树的直径。复杂度为O(| V |),因为DFS对于树是线性的。