看完这篇文章写的小程序,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. 浅谈Androidclient项目框架

    写Android也有些时间了,一边工作,一边学习,一边积累.仅仅有遇到问题了,花时间去研究,自己的能力才干提升.刀假设不用.慢慢的就会生锈应该也是这个道理吧!上个月公司项目server框架进行的一些调 ...

  2. Perl 小知识之多行匹配

    如果想匹配多行文本(即文本中有换行符)中的内容,比如: aaa ... bbb ... 要匹配aaa和bbb之间的内容,我们可以使用 /aaa.*bbb/s 其中/s修饰符可以让.匹配任何字符,包括换 ...

  3. Linux文件系统的几个性能测试软件小结

    曾经测试Linux系统下的分布式集群系统的性能,使用了一些测试软件,公司让我给部门同事做一次基础培训,于是翻看以前所写的记录资料挑选了其中几个,所记之处并不完全,只记录使用的功能. 1.Iozone ...

  4. C++面试题:list和vector有什么区别?

    原文:http://genwoxuevc.blog.51cto.com/1852984/503337 C++面试题:list和vector有什么区别?考点:理解list和vector的区别出现频率:★ ...

  5. 项目源码--JAVA基于LBS地理位置信息应用的服务端

    技术要点: 1. LBS应用框架服务端实现 2. JAVA服务端技术 3. MYSQL数据库技术 4. 源码带详细的中文注释 ......   详细介绍: 1. LBS应用框架服务端实现 此套源码是基 ...

  6. 548 - Tree (UVa OJ)

    Tree You are to determine the value of the leaf node in a given binary tree that is the terminal nod ...

  7. Big String 块状数组(或者说平方分割)

    Big String 给一个字符串,长度不超过 106,有两种操作: 1. 在第 i 个字符的前面添加一个字符 ch 2. 查询第 k 个位置是什么字符 操作的总数不超过 2000 如果直接模拟的话, ...

  8. K-th Number 线段树(归并树)+二分查找

    K-th Number 题意:给定一个包含n个不同数的数列a1, a2, ..., an 和m个三元组表示的查询.对于每个查询(i, j, k), 输出ai, ai+1, ... ,aj的升序排列中第 ...

  9. Phone List

    Problem Description Given a list of phone numbers, determine if it is consistent in the sense that n ...

  10. 跨平台网络库(采用C++ 11)

    I:跨平台设计基础 在windows下使用0字节的WSARecv/WSASend(读写)作为读写检测,将IOCP作为一个通知模型,而"抛弃"它的异步模型. 即:把它当作epoll来 ...