PHP实现Floyd算法
来源:互联网 发布:snmp 监控软件 编辑:程序博客网 时间:2024/05/21 04:23
Floyd算法相比于迪杰特斯拉算法又是在于方便理解,逻辑清晰但不方便记录路径
public function run(){ @set_time_limit(0); @ini_set('memory_limit', '2048M'); $obj_arr = array( array(0,7,9,999,999,14), array(7,0,10,15,999,999), array(9,10,0,11,999,2), array(999,15,11,0,6,999), array(999,999,999,6,0,9), array(14,999,2,999,9,0), ); $num = count($obj_arr); $result = $obj_arr; for($k=0;$k<$num;$k++){ for($i=0;$i<$num;$i++){ for($j=0;$j<$num;$j++){ $result[$i][$j] = min($result[$i][$k]+$result[$k][$j],$result[$i][$j]); } } } foreach($result as $k1 => $v1){ foreach($v1 as $k => $v){ echo $k1."=>".$k." ".$v."\n"; } }}
代码输出:
0=>0 0
0=>1 70=>2 9
0=>3 20
0=>4 20
0=>5 11
1=>0 7
1=>1 0
1=>2 10
1=>3 15
1=>4 21
1=>5 12
2=>0 9
2=>1 10
2=>2 0
2=>3 11
2=>4 11
2=>5 2
3=>0 20
3=>1 15
3=>2 11
3=>3 0
3=>4 6
3=>5 13
4=>0 20
4=>1 21
4=>2 11
4=>3 6
4=>4 0
4=>5 9
5=>0 11
5=>1 12
5=>2 2
5=>3 13
5=>4 9
5=>5 0
阅读全文
0 0
- PHP实现Floyd算法
- 简单Floyd php 实现 只为熟悉算法
- Java实现Floyd算法
- floyd算法实现
- Floyd算法Cpp实现
- python实现Floyd算法
- Floyd-Warshall算法实现类
- java实现的floyd算法
- Floyd算法(java实现)
- Floyd算法分析和实现
- Floyd-Warshall算法实现类
- Floyd算法(原理|代码实现)
- C++实现floyd-warshall算法
- Floyd-Warshall 算法 C++实现
- Floyd算法的java实现
- Floyd算法C语言实现
- Dijkstra算法和Floyd算法的实现
- floyd最短路径算法的实现
- bzoj1026: [SCOI2009]windy数
- 前端一些可爱的小插件之Parallax.js &jqueryCountup.js
- AndroidStudio 使用Release签名进行Debug 多渠道打包 混淆 全局配置
- Android如何使用以及配置KotLin
- 机器学习经典算法之-最小二乘法
- PHP实现Floyd算法
- 获取APK 的启动Activity名称
- Android录像时添加时间水印
- 修改Linux内核启动logo
- WIFI系统架构
- SharedPreferences应用之首次加载引导界面
- Win10+VS2015+OpenCv3.2.0+OpenCv_contrib3.2.0+CMAKE3.8.1编译OpenCv源代码
- vm虚拟机安装的centos6.8系统下将php5.3.3升级到5.6.3
- 开发H5游戏的附加价值