最短路徑演算法

2021-06-06 14:48:51 字數 1072 閱讀 2726

有一段時間沒寫演算法了,今天要寫乙個最短路徑演算法,居然也用了差不多乙個半小時。。。

**也沒什麼好說的了,用的回溯逐個探測的方法,變數都用的是全域性變數,需要注意的就是回溯了。

#include#include#define max 50 //圖的最大頂點數

using namespace std;

int map[max][max]; //圖的鄰接矩陣

int mark[max]; //執行演算法時的各點標記狀態,0為未標記,1為以標記

int trace[max+1]; //儲存演算法執行過程中的當前分析路徑

int mintrace[max+1]; //儲存到當前為止的最短路徑

int tracelen; //trace陣列的當前有效長度

int mintracelen; //mintrace陣列的當前有效長度

int count; //圖的頂點個數

int start; //起始頂點

int end; //終止頂點

int now; //當前頂點(未啟用)

int len; //到當前為止的路徑長度

int min; //到當前為止的最短路徑長度

int m,n,length; //用於輸入邊

void maptrace(); //尋找最短路徑演算法

void looop(int); //尋找最短路徑演算法的遞迴過程,引數為當前頂點

int main()

cout<<"the map is like this :"<>start>>end) //輸入起始點和終點

{ maptrace();

cout<<"the shortest length of the trace is "<

最短路徑演算法 最短路

在每年的校賽裡,所有進入決賽的同學都會獲得一件很漂亮的t shirt。但是每當我們的工作人員把上百件的衣服從商店運回到賽場的時候,卻是非常累的!所以現在他們想要尋找最短的從商店到賽場的路線,你可以幫助他們嗎?input 輸入包括多組資料。每組資料第一行是兩個整數n m n 100,m 10000 n...

最短路徑演算法

floyd演算法 012345 001 54 1108 1 2 801 3 3 1035 45 302 5413520 floyd 演算法過程描述如下 首先 以邊集 初始化,得到所有的直接連通代價 依次考慮第 k個結點,對於 中的每乙個 i j 判斷是否滿足 s i j s i k s k j 如果...

最短路徑演算法

個人覺得下面 有代表性 最短路徑演算法原始碼 vb 本人載 開發gis,遊自編的最短路徑查詢程式,速度特快,3萬節點,35000條路全部遍歷,只需1秒。現將最短路徑的思路告訴大家,希望大家在優化,並用不同語言編制,我正在學delphi,準備用delphi做成庫,本例以由拓撲關係的arc info 檔...