zoukankan      html  css  js  c++  java
  • 最短路径(迪杰斯特拉算法) 数据结构和算法64

    最短路径(迪杰斯特拉算法)

     

    让编程改变世界

    Change the world by program


     

    最短路径(迪杰斯特拉算法)

      我们时常会面临着对路径选择的决策问题,例如在中国的一些一线城市如北京、上海、广州、深圳等,一般从A点到到达B点都要通过几次地铁、公交的换乘才可以到达。   有些朋友想用最短对的时间,有些朋友想花最少的金钱,这就涉及到不同的方案,那么如何才能最快的计算出最佳的方案呢? [caption id="attachment_2631" align="alignnone" width="597"]最短路径求法 最短路径求法[/caption]  

    在网图和非网图中,最短路径的含义是不同的。

    • 网图是两顶点经过的边上权值之和最少的路径。
    • 非网图是两顶点之间经过的边数最少的路径。
      我们把路径起始的第一个顶点称为源点,最后一个顶点称为终点。  

    关于最短路径的算法,我们会介绍两种:

    • 迪杰斯特拉算法(Dijkstra)
    • 弗洛伊德算法(Floyd)
     

    求V0到V8的最短路径

    [caption id="attachment_2632" align="alignnone" width="500"]迪杰斯特拉算法 迪杰斯特拉算法[/caption]  

    你找到了吗

    [caption id="attachment_2633" align="alignnone" width="500"]迪杰斯特拉算法 迪杰斯特拉算法[/caption]  

    迪杰斯特拉算法原理

      好了,我想你大概明白了,这个迪杰斯特拉算法是如何工作的。 它并不是一下子就求出了V0到V8的最短路径,而是一步步求出它们之间顶点的最短路径,过程中都是基于已经求出的最短路径的基础上,求得更远顶点的最短路径,最终得到你要的结果。   如果还不大明白,没关系,现在小甲鱼带着大家一起来解读代码,把自己模拟成计算机,模拟代码的运行,再次去理解它的思想。 代码下载:dijkstra.c [buy] 获得所有教学视频、课件、源代码等资源打包 [/buy] [Downlink href='http://kuai.xunlei.com/d/BdsUAwIS1QCigrdR76b']视频下载[/Downlink]
  • 相关阅读:
    Codeforces Round #592 (Div. 2)C. The Football Season(暴力,循环节)
    Educational Codeforces Round 72 (Rated for Div. 2)D. Coloring Edges(想法)
    扩展KMP
    poj 1699 Best Sequence(dfs)
    KMP(思路分析)
    poj 1950 Dessert(dfs)
    poj 3278 Catch That Cow(BFS)
    素数环(回溯)
    sort与qsort
    poj 1952 buy low buy lower(DP)
  • 原文地址:https://www.cnblogs.com/LoveFishC/p/3846339.html
Copyright © 2011-2022 走看看