连接n个节点的图中k个节点的最小路径

时间:2015-02-15 07:47:29

标签: c++ graph path nodes minimum

给定具有n个节点和n-1个边的图,找到连接k个节点所需的最小边数。您将获得m个数字k <= n,您必须为此解决问题。边缘未加权,图形不一定描述二叉树。

对于n = 5且k = 4的图,可能的路径可能是1-2-5-2-3。

我的方法是一种贪婪的方法,我从具有最高等级的节点开始并尝试从那里添加边缘,但我在尝试制定算法方面没有太大成功。

1 个答案:

答案 0 :(得分:0)

尝试在树中找到最长路径,您将获取该路径上的每个边缘一次,而不是选择具有边缘的随机节点,将该节点连接到已经选择的元素。

因此,如果该路径有k个或更多节点,那么找到树中最长的路径,你选择该路径上的元素,每个边缘将被取一次左边选择随机,只要你的集合中没有k个节点,就可以通过任何边缘直接连接到已经占用的节点之一的已经节点。