深度搜尋演算法查詢最短路徑

2021-09-11 10:33:59 字數 815 閱讀 3781

從圖中可以得到乙個5*5的二維矩陣,利用深度搜尋演算法,求出最短路徑。從最後的執行結果,可以直觀的看出搜尋的過程

**實現如下:

#include "pch.h"

#include #include #include using namespace std;

#define m 99999999

const int citynum = 5;

const int citymap[citynum][citynum] =

;bool book[citynum] = ;

int imin = m;

vectorvecpath;

void showpath()

}void dfs(int icur, int ides, int idis)

if (ides == icur)

showpath();

printf("->minpath:%d\r\n", imin);

return;

} for (int i=0; i%dx\r\n", i + 1);

} }}int main()

執行結果:列印出路徑

練習 最短路徑 深度搜尋

乙個根據深度搜尋模型寫的最短路徑 參考如下 啊哈演算法 4.2 p81 最短路徑 public class shortpath 向右走 向下走 向左走 向上走 地圖是乙個5 5的矩陣 public static int x 5,y 5 定義終點 public static int ex 2,ey 2...

迷宮(深度搜尋 存最短路徑)

問題描述 定義乙個二維陣列 定義乙個5 5的陣列maze 5 5 它表示乙個迷宮,其中的1表示牆壁,0表示可以走的路,只能橫著走或豎著走,不能斜著走,要求程式設計序找出從左上角到右下角的最短路線。輸入 乙個5 5的二維陣列,表示乙個迷宮。資料保證有唯一解。輸出 左上角到右下角的最短路徑,格式如樣例所...

A (路徑搜尋)演算法

a 演算法是路徑搜尋中的經典演算法,也是公認的最優演算法之一。開始 搜尋區域 這裡假設有人要從a點去往b點,另外有一面牆將兩者分開。如下圖所示,綠色方塊代表a點,紅色方塊代表b點,藍色代表分開他們的牆。圖一首先要注意的是我們這裡先將整個搜尋區域網格化,以方便路徑搜尋。這一方法將搜尋區域簡化為乙個簡單...