对于多个顶点大于5的循环图,在每个节点中运行BFS并从这些长度中选择一个最大值将停止工作。
例如:

以循环方式从1到6对每个顶点进行编号。
现在,使用BFS:-from节点1:
长度已经等于4,这比直径还要大。
发布于 2016-12-13 11:59:56
BFS在您的示例中确实找到了正确的直径。
它采用两条不同的路径:<1, 2, 3, 4>和<1, 6, 5>。
取最长的路径,即<1, 2, 3, 4>,取第一个节点与最后一个节点之间的距离,即路径中的节点数减去1,给出4-1=3,它是循环图的直径。
https://stackoverflow.com/questions/33317833
复制相似问题