数据结构——最短路径之Dijkstra算法(与最小生成树的prime算法很像,建议一起看)
生活随笔
收集整理的這篇文章主要介紹了
数据结构——最短路径之Dijkstra算法(与最小生成树的prime算法很像,建议一起看)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
最短路徑之Dijkstra算法
(一)Dijkstra算法
單源最短路徑:就是從某一個頂點出發(fā),到圖中任意頂點之間的最短路徑;
【算法概述】:Dijkstra算法適用于解決單源最短路徑的問題。即:從源點到任意指定頂點之間的最短距離的問題;但Dijkstra算法要求所有邊的權值非負。看過Prime算法的同學都知道,Dijkstra算法與Prime算法很相似,不同的就是dis數(shù)組的更新方式。Dijkstra算法用鄰接矩陣存圖比較方便。
【算法思想】:先用一個數(shù)組記錄從源點到圖中個頂點直接相連的距離,如果不直接連,就記錄為無窮大,然后通過對該數(shù)組的更新,使得dis[x]表示從源點到x的最短路徑;
1.1 初始化
用鄰接矩陣來存圖,先進行初始化,自己到自己的距離初始化為0,到另外的頂點的距離初始化為無窮大。并將標記數(shù)組都置為0,表示所有頂點都未訪問;
void init(){for(i總結
以上是生活随笔為你收集整理的数据结构——最短路径之Dijkstra算法(与最小生成树的prime算法很像,建议一起看)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数据结构——最小生成树之prime算法(
- 下一篇: 数据结构——最短路径算法之floyd算法