最小生成树+最短路径

假设要在n个城市之间建立通信连落网,则联通n个城市只需要n-1条线路。n个城市之间都可以建立一条线路,最多可能设置n(n-1) / 2条线路,如何在这些可能的线路中选择 n-1 条,使得总的耗费太小?
这个问题就是构造联通网的最小代价生成树的问题;普利姆算法和克鲁斯卡尔算法是利用MST性质构造最小生成树的算法。
普利姆算法直接的理解是:从已经选择的顶点中选择最小的边(边的选择是根据已经选择的顶点决定的);
克鲁斯卡尔算法的理解:从当前网络图每次选择最小的边加入(边的选择是当前网络中的最小边)。
最小生成树要保证整个图的所有路径之和最小

假设一个乘客要从A城到B城,他希望选择一条途中中转次数最小(或路程花费最少)的路线。这个问题反映到图上就是要找一条从顶点A到B所含边的数目最少的路径。。
单源点的最短路径问题:给定带权有向图G和源点v,求从v 到G中其余各顶点的最短路径,利用迪杰斯特拉算法可以求解。
多源点的最短路径问题:求每一对顶点之间的最短路径,利用弗洛伊德算法可以求解。
最短路径是从一点出发,到达目的地的路径最小

最小生成树和最短路径的区别:
最小生成树构成后所有的点都被联通,而最短路径只要到达目的地走的是最短路径即可,与所有的点连不连通没有关系。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值