您将获得树
G = <V, E>
和整数k
。目标是覆盖图的k
边,以最小化树中最长的未覆盖路径的长度(并返回此路径的长度)约束:
O(nlogn)
时间和O(n)
空间。
现在,算法的方案有点明显(来自给定的约束)。我们需要优先考虑边缘并选择最高k
- 边(技术上,我们将所有边抛出到优先级队列并选择第一个k
)
所以,我认为,键应该告诉我们边缘的中心位置。
我的第一次尝试是从某个节点BFS图形并再次从第一次扫描的最远节点BFS。
每个节点将获得两个值:距第一个起始节点的距离和距第二个起始节点的距离。
尽管如此,我不确定这种方法如何掌握*中心的概念以及它的表现如何。
我很高兴听到您对当前想法或自己想法的看法。