【发布时间】:2013-09-28 09:11:27
【问题描述】:
在一棵树中,我必须找到两个顶点,它们之间(连接)的顶点数最多,包括它们。然后我需要找到它们之间的顶点总数。我想使用广度优先搜索算法来解决这个问题,但没有得到任何线索。如何处理?
示例(对于 5 个节点)- 树链接是:
1-2
1-3
3-4
3-5
那么最长的路径是 2-1-3-4 或 2-1-3-5 因此这条路径总共有 4 个顶点。
【问题讨论】:
-
@Leeor 我想要 BFS 方法来解决这个问题
-
@Leeor 你提供了一个 LCA 问题的链接。是一样的吗?
-
由于在树上每 2 个顶点都有一条路径,因此每 2 个顶点之间的距离就是到 LCA 的距离之和。
标签: c++ data-structures dynamic-programming breadth-first-search