问题
要在【n个城市】之间建立【通讯联络网】,则连通n个城市只需要修建n-1条线路
【问题】如何在最节省经费的前提下建立这个通讯网?
【问题等价于】构造【图】的一棵【最小生成树】,即:在e条带权的边中选取n-1条(不构成回路),使“权值之和”为最小
举例
在这几个城市中修建【通讯联络网】,问最省钱的修建方案
我们能很容易得出如下图的修建方式:(红色线相连)
解决方案
算法名 | 时间复杂度 | 适合范围 | 博客链接 |
---|---|---|---|
普利姆算法Prim | O(n^2) | 稠密图 | https://blog.csdn.net/summer_dew/article/details/81660483 |
克鲁斯卡尔算法Kruskal | O(eloge) | 稀疏图 | https://blog.csdn.net/summer_dew/article/details/81660723 |