BFS/DFS做法
任取树的一个点,从该点开始跑dfs/bfs,找到距离最远的一个点x,再从x开始跑bfs/dfs,找到另一个最远的点y,则x到y的距离为树的直径.第一次搜索找到的点x必定为直径的一端,则从该点开始再找最远的点就能找出直径的另一端的.
本文介绍了一种求解树直径的有效算法。通过两次深度优先搜索(DFS)或广度优先搜索(BFS),首先找到树上任意一点到最远点x,再从x出发找到最远点y,x到y的距离即为树的直径。此方法确保了第一次找到的点x必定为直径的一端。
任取树的一个点,从该点开始跑dfs/bfs,找到距离最远的一个点x,再从x开始跑bfs/dfs,找到另一个最远的点y,则x到y的距离为树的直径.第一次搜索找到的点x必定为直径的一端,则从该点开始再找最远的点就能找出直径的另一端的.
转载于:https://www.cnblogs.com/VBEL/p/11259027.html
1899
703

被折叠的 条评论
为什么被折叠?
