Tes*_*a42 7 algorithm graph minimum-spanning-tree
可以使用Prim算法或Kruskal算法来找到顶点/节点和边/链接集合的最小生成树/图.我想要的是一种算法,它可以找到该集合的最小生成图,但结果图只需要包含任意选择的节点,而不是所有节点.如果结果图包含的节点数多于所需的节点数,那也没关系.
这样的算法存在吗?在修改图形以仅包含所需节点后,也许可以使用Prim(或Kruskal)算法?但是,我不确定如何在保持连接性的同时修改图形.
例如,假设我们有一个菱形的起始图(括号中的链接成本):
A
(2)/ \(1)
B C
(2)\ /(5)
D
Run Code Online (Sandbox Code Playgroud)
现在,我们任意决定只需要节点A和D. 如果我们从A开始,我们仍然希望它采用左路径,因为((2 + 2)<(1 + 5)).
假设我们稍微修改了图表:
A
(2)/ \(1) (2)
B C ------E
(2)\ /(5)
D
Run Code Online (Sandbox Code Playgroud)
如果我们确定只需要节点A,D和E,我们就会发现成本最低的路径不一定是链路最少的路径.考虑A - B - D和A - C - E成本为7,但A - C - D和C - E成本为8.
| 归档时间: |
|
| 查看次数: |
1155 次 |
| 最近记录: |