树的直径

365 阅读1分钟

树的直径指树上距离最远的两点间的距离。

当边的权重非负时,可以使用贪心算法来求解,时间复杂度是O(n)O(n)

贪心求直径的方法是任意找一个点为根,dfs整棵树找到距离他最远的点 x,再以这个点 x 为根求出距离它最远的点 y,x->y即为直径。