返回
当前 - 选择题 - 最小生成树
中等
题号:0120220500043
单选题
2022年5月第43题

某乡有7个小山村A~G,村与村之间原有小路可加宽修建公路的线路如下图所示(路边的数字表示路长的公里数)。为实现村村通公路,修建公路总长至少(13.8)公里。若在(E)村新建一所中学,则可以使人们从离它最远的村到该校所走的优化路程最短。

浓缩知识点

最小生成树是连通无向图中连接所有顶点且总边权值最小的子图,可解决如全域连通建设成本最优的问题,常用求解算法有Kruskal算法和Prim算法,其中Kruskal算法是将所有边按权值升序排序后,依次选取不构成回路的边,直至选出n-1条边(n为顶点总数);Prim算法则从某一顶点出发,逐步添加邻接的最小权值边来扩展生成树。图的中心节点是公共设施选址类问题的核心解法指向,指在图中(实际应用常依托最小生成树简化计算),能让其他所有顶点到该节点的最短路径里的最大值达到最小的顶点,可实现最远服务对象的通行距离尽可能短,适用于学校、应急站点等设施的最优选址。

正确答案
A

本题考察的是图论中最小生成树和最短路径的综合应用

主要应用Kruskal算法来求解最小生成树,并结合图的中心性分析来决定学校的最优位置。
要使所有村庄之间公路互通,并且总长度最小,就是求整个图的最小生成树(Minimum Spanning Tree, MST)。这类问题常用的算法有 Prim 和 Kruskal,这里采用 Kruskal 算法。
步骤如下:

  1. 将所有边按长度升序排序。
  2. 从最短边开始依次选择,只要不构成回路,就纳入生成树中,直到选出 n−1=6n-1 = 6n−1=6 条边(因为有7个村)。
    排序后的边长度为:
  • D-E(1.5)
  • E-G(1.5)
  • C-E(1.8)
  • A-D(2)
  • A-C(2)
  • F-D(3)
  • A-F(4)
  • B-G(4)
  • A-B(5)
  • B-C(5)
  • F-G(6)

选取以下6条边组成最小生成树:

  • B-G(4)
  • A-C(2)
  • D-E(1.5)
  • E-G(1.5)
  • C-E(1.8)
  • F-D(3)

总长为:4 + 2 + 1.5 + 1.5 + 1.8 + 3 = 13.8公里
因此,正确答案为:A. 13.8

联系我们
隐私协议
用户协议
微信公众号
知乎
小红书
浙ICP备2021029036号
@2022-2026
嘉兴市安芯网络科技有限公司 版权所有