看完这篇文章写的小程序,Floyd最短路径算法,求从一个点到另一个点的最短距离,中间可以经过其他任意个点。三个for循环,从i到j依次经过k的最短距离,最外层for循环是经过点K,内部两个循环是从i(0)到j(0,1,2,3)经过k(0)的最短距离,从i(1)到j(0,1,2,3)经过k(0)的最短距离,······,从i(3)到j(0,1,2,3)经过k(0)的最短距离;在经过k(0)的基础上再经过k(2),从i(0)到j(0,1,2,3)经过k(1)的最短距离,从i(1)到j(0,1,2,3)经过k(1)的最短距离,········

程序是根据上面那篇文章写的

 using System;
 using System.Collections.Generic;
 using System.Linq;
 using System.Text;
 using System.Threading.Tasks;

 namespace Floyd最短路径算法
 {
     class Program
     {
         static void Main(string[] args)
         {
             , ] {  { , , ,  },
                                         { , , ,  },
                                         { , , ,  },
                                         { , , ,  } };

             , ] { { , , ,  },
                                         { , , ,  },
                                         { , , ,  },
                                         { , , ,  } };

             ; i < ; i++)
             {
                 ; j < ; j++)
                 {
                     Console.Write(e1[i, j] + "       ");
                 }
                 Console.WriteLine();
             }
             ; k < ; k++)  //分别经过四个地点
             {
                 ; i < ; i++) //i是第一个地点
                 {
                     ; j < ; j++)  //j是第二个地点
                     {
                         //从i到k,k到j 小于i到j
                         if (e1[i, k] + e1[k, j] < e1[i, j])
                         {
                             e1[i, j] = e1[i, k] + e1[k, j];

                             Console.WriteLine(,j+,k+,e[i,j],e1[i,j]);
                         }
                     }
                 }
             }
             Console.WriteLine("----------------------------------");
             ; i < ; i++)
             {
                 ; j < ; j++)
                 {
                     Console.Write(e1[i, j] + "    ");
                 }
                 Console.WriteLine();
             }
             Console.ReadKey();
         }
     }
 }

Floyd最短路径算法的更多相关文章

  1. Algorithm --> Dijkstra和Floyd最短路径算法

    Dijkstra算法 一.最短路径的最优子结构性质 该性质描述为:如果P(i,j)={Vi....Vk..Vs...Vj}是从顶点i到j的最短路径,k和s是这条路径上的一个中间顶点,那么P(k,s)必 ...

  2. Floyd最短路径算法(来自微信公众号“算法爱好者”改编)

    暑假,小哼准备去一些城市旅游.有些城市之间有公路,有些城市之间则没有,如下图.为了节省经费以及方便计划旅程,小哼希望在出发之前知道任意两个城市之前的最短路程. 上图中有4个城市8条公路,公路上的数字表 ...

  3. DS实验题 Floyd最短路径 & Prim最小生成树

    题目: 提示: Floyd最短路径算法实现(未测试): // // main.cpp // Alg_Floyd_playgame // // Created by wasdns on 16/11/19 ...

  4. 几大最短路径算法比较(Floyd & Dijkstra & Bellman-Ford & SPFA)

    几个最短路径算法的比较:Floyd 求多源.无负权边(此处错误?应该可以有负权边)的最短路.用矩阵记录图.时效性较差,时间复杂度O(V^3).       Floyd-Warshall算法(Floyd ...

  5. 最短路径算法——Dijkstra算法与Floyd算法

    转自:https://www.cnblogs.com/smile233/p/8303673.html 最短路径 ①在非网图中,最短路径是指两顶点之间经历的边数最少的路径. AE:1    ADE:2  ...

  6. 最小生成树(prime算法 & kruskal算法)和 最短路径算法(floyd算法 & dijkstra算法)

    一.主要内容: 介绍图论中两大经典问题:最小生成树问题以及最短路径问题,以及给出解决每个问题的两种不同算法. 其中最小生成树问题可参考以下题目: 题目1012:畅通工程 http://ac.jobdu ...

  7. 几个最短路径算法Floyd、Dijkstra、Bellman-Ford、SPFA的比较

        几大最短路径算法比较 转自:http://blog.csdn.net/v_july_v/article/details/6181485 几个最短路径算法的比较: Floyd        求多 ...

  8. (最短路径算法整理)dijkstra、floyd、bellman-ford、spfa算法模板的整理与介绍

    这一篇博客以一些OJ上的题目为载体.整理一下最短路径算法.会陆续的更新... 一.多源最短路算法--floyd算法 floyd算法主要用于求随意两点间的最短路径.也成最短最短路径问题. 核心代码: / ...

  9. 几个最短路径算法Floyd、Dijkstra、Bellman-Ford、SPFA的比较(转)

    几大最短路径算法比较 几个最短路径算法的比较:Floyd        求多源.无负权边(此处错误?应该可以有负权边)的最短路.用矩阵记录图.时效性较差,时间复杂度O(V^3).       Floy ...

随机推荐

  1. OutputDebugString()

    坚定的 Win32 开发者可能对 OutputDebugString() API 函数比較熟悉,它能够使你的程序和调试器进行交谈.它要比创建日志文件easy,并且全部“真正的”调试器都能使用它.应用程 ...

  2. 【JavaScript】Registering JavaScript object methods as callbacks

    The registration of callback functions is very common in JavaScript web programming, for example to ...

  3. dsPIC33EP timer1 初始化设置及应用

    //文件 p33timer1.h #ifndef _P33TIMER1_H_ #define _P33TIMER1_H_ //#include "p33timer1.h" #def ...

  4. DB2 重新设定表自增字段的当前值

    转自:http://blog.csdn.net/jionghan3855/article/details/2709073 1.ALTER TABLE UKEY_INFO_TAB ALTER COLUM ...

  5. qt超强绘图控件qwt - 安装及配置

    qwt是一个基于LGPL版权协议的开源项目, 可生成各种统计图.它为具有技术专业背景的程序提供GUI组件和一组实用类,其目标是以基于2D方式的窗体部件来显示数据, 数据源以数值,数组或一组浮点数等方式 ...

  6. XMPP协议、IM、客户端互联详解

    导读 对于推送,IM服务器,目前可以使用一些厂家提供的SDK来实现,但是我们的老板又总是担心使用别人的SDK,假如别人的服务出现问题,或者别人偷看咱们的信息,那岂不是出现很大问题了 聊一聊xmpp的服 ...

  7. 内存映射mmap

    Table of Contents 1. 什么是mmap 2. 使用方法 2.1. mmap构造器的格式 2.2. 例子1 2.3. 例子2 3. 其它 4. 参考资料 什么是mmap 通常在Unix ...

  8. Windows 7 IIS HTTP 错误 500.21 – Internal Server Error 解决方法

    错误状况: 下面内容来自网络,自己也另有补充 原因:在安装Framework v4.0之后,再启用IIS,导致Framework没有完全安装 解决办法:开始->所有程序->附件->鼠 ...

  9. 数码相框之Makefile笔记

    本程序的Makefile分为3类:1. 顶层目录的Makefile2. 顶层目录的Makefile.build3. 各级子目录的Makefile 一.各级子目录的Makefile: 它最简单,形式如下 ...

  10. jquery移除、绑定、触发元素事件使用示例详解

    这篇文章主要介绍了jquery移除.绑定.触发元素事件使用示例详解,需要的朋友可以参考下. unbind(type [,data]) //data是要移除的函数 $('#btn').unbind(&q ...