algorithm - 查找包含特定节点集合的最短“路径”
问题描述
我有图像中的顶部图(未加权和无向图),我想找到一组节点(节点数量最少),以便连接所有选定的节点(红色)。
在这种情况下,我可以假设总有办法到达“主节点”(大节点),这意味着总有解决方案。
我的示例解决方案是图像的底部。
有解决这类问题的算法吗?
我是“图形场景”的新手,我找不到任何东西,也许是因为我缺乏描述我正在寻找的术语的术语。
解决方案
这是一个可能不是最佳但易于理解的答案,可能足以满足您的需求。
- 使用 Floyd-Warshall 算法解决所有对最短路径问题。
- 以每个节点为源,将到每个红色节点的距离求和(如果任何红色节点不可达,则跳过源节点)
- 主节点是步骤 2 中总和最小的源节点。
这只有效,因为图是未加权的,这意味着距离等于路径中的节点数。
推荐阅读
- html - 在 python + jquery 上发送带附件的电子邮件
- python - 仅在一行中动态打印
- javascript - 如何在asp.net按钮单击上复制到客户端剪贴板
- python - 使用 Python 在 Google BigQuery 中创建每周计划的查询作业
- java - 安装 HAPI FHIR 服务器后,要使用什么数据库?
- excel - VBA 转换日期
- c# - 获取泛型类型的属性类型以用于表达式
- java - 如何创建按值搜索的路线?
- python - 将密钥打印到txt文件中
- python - Tensorflow 检查失败:status == CUDNN_STATUS_SUCCESS (7 vs. 0)Failed to set cuDNN stream