003-普利姆算法求解最小生成树的简单实例
2017-03-15 16:03
405 查看
普利姆Prim算法求解最短路径的简单实例
给定6个节点,这6的节点中间有十条相连的通路,有的是直接相连,有的则是间接相连。如图所示:图中的6个节点被分别标注为{P1,P2,P3,P4,P5,P6},它们之间的连接也有各自的权重,要想求出最小生成树,如果使用普利姆算法的话,应该如下操作:
1.我们设置lowMoney【i】为“以i为终点的时候最小的权重,也就是最小的花费”,当它等于0的时候代表该点已经被选中;
2.destination【i】为对应上面最小权重的时候,是谁在与之对应,也就是说谁将作为起点与之对应;
3.“*”可以看做无穷大,也就是没有直接的通路;
1.首先将P1看作基本点,这个时候就有
lowMoney【1】 = 0;
destina【1】 = 0;
lowMoney【2】 = 6;
destina【2】 = 1;
lowMoney【3】 = 5;
destina【3】
= 1;
lowMoney【4】 = 1;
destina【4】
= 1;
lowMoney【5】
= * ;
destina【5】
= 4;
lowMoney【6】
= * ;
destina【6】
= 4;
我们不难看出,除了自身以外,lowMoney【4】
为最小值,所以我们将它选定, 选定之后设置为lowMoney【4】 = 0;
则就会有:
lowMoney【1】 = 0;
destina【1】 = 0;
lowMoney【2】 =
5;
destina【2】 =
4;
lowMoney【3】 = 5;
destina【3】 = 1;
lowMoney【4】 =0;
destina【4】 =
0;
lowMoney【5】 =6 ;
destina【5】 = 4;
lowMoney【6】 =
4 ;
destina【6】 = 4;
我们不难看出,除了自身以外,lowMoney【6】 为最小值,所以我们将它选定,选定之后设置为lowMoney【6】 = 0;
则就会有:
lowMoney【1】 = 0;
destina【1】 = 0;
lowMoney【2】 =5;
destina【2】 =
4;
lowMoney【3】 =2;
destina【3】 =
6;
lowMoney【4】 =0;
destina【4】 =
0;
lowMoney【5】 =6 ;
destina【5】 = 4;
lowMoney【6】 =0 ;
destina【6】 =
0;
我们不难看出,除了自身以外,lowMoney【3】 为最小值,所以我们将它选定,选定之后设置为lowMoney【3】 = 0;
则就会有:
lowMoney【1】 = 0;
destina【1】 = 0;
lowMoney【2】 =5;
destina【2】 =
4;
lowMoney【3】 = 0;
destina【3】 =0;
lowMoney【4】 =0;
destina【4】 =
0;
lowMoney【5】 =6 ;
destina【5】 = 4;
lowMoney【6】 =0 ;
destina【6】 =
0;
我们不难看出,除了自身以外,lowMoney【2】 为最小值,所以我们将它选定,选定之后设置为lowMoney【2】 = 0;
则就会有:
lowMoney【1】 = 0;
destina【1】 = 0;
lowMoney【2】 =0;
destina【2】 =
0;
lowMoney【3】 = 0;
destina【3】 =0;
lowMoney【4】 =0;
destina【4】 =
0;
lowMoney【5】 =6 ;
destina【5】 = 4;
lowMoney【6】 =0 ;
destina【6】 =
0;
我们不难看出,除了自身以外,lowMoney【5】 为最小值,所以我们将它选定,选定之后设置为lowMoney【5】 = 0;
则就会有:
lowMoney【1】 = 0;
destina【1】 = 0;
lowMoney【2】 =0;
destina【2】 =
0;
lowMoney【3】 = 0;
destina【3】 =0;
lowMoney【4】 =0;
destina【4】 =
0;
lowMoney【5】 =0 ;
destina【5】 =
0;
lowMoney【6】 =0 ;
destina【6】 =
0;
至此,我们已经找到了最小生成树,这个算法就算是结束了,所以呢,最后的最小权值也就是最小花费就是(1+2+3+4+5=15),这就是普利姆算法求解最小生成树的全部过程。
相关文章推荐
- 使用C语言实现最小生成树求解的简单方法
- php生成静态页面的简单实例
- [C#]一步一步开发自己的自动代码生成工具之四:简单三层代码模板实例Model层
- win7生成生成Detours.lib以及简单使用实例
- hdu 1879 简单最小生成树
- php生成xml简单实例代码
- php生成静态页面的简单实例
- [U]3.1.1 Agri-Net 简单的最小生成树问题Ford
- ACM POJ 2421 Constructing Roads(简单最小生成树)
- ACM POJ 1258 Agri-Net (简单最小生成树)
- HDOJ 1863:畅通工程 Prim算法求解最小生成树
- POJ1258 Agri-Net(简单的prim最小生成树)
- 使用DOM4J生成XML文档的分析和简单实例
- php生成xml简单实例代码
- php生成xml简单实例代码
- ASP用FSO生成HTML简单实例+详解
- php生成xml简单实例代码
- Rails 2.0.2用scaffold来生成简单实例
- php生成xml简单实例代码
- HDOJ 1162:Eddy's picture 求解最小生成树