深入優先演算法

2022-03-04 16:06:45 字數 710 閱讀 3613

今天使用深入搜尋演算法,搜算關於乙個水坑的問題。好久沒有認真看看c++的書,在該問題上發現自己還有很多地方不熟悉了。

比如c++中陣列的傳遞應該寫成 voiddfs(intx,inty,char(&field)[n][m]) 其中的優先順序比&要高,所以之前傳值傳遞不行。

#include using namespace std;

#define n 10

#define m 12

//首先第一步將當前的地方設定為'.',其次檢查所有的其他的地方看是不是符合要求,並進行遞迴呼叫

void dfs(int x,int y,char (&field)[n][m]),

, ,

, ,

, ,

, ,

};//首先第一步將當前的地方設定為'.',其次檢查所有的其他的地方看是不是符合要求,並進行遞迴呼叫

void dfs(int x,int y){

field[x][y] = '.';

for (int i = -1; i < 2; ++i)

{ for (int j = -1; j < 2; ++j)

{ int nx=x+i,ny=y+j;

if (0<=nx && nx

今天是第一天真正的開始思考關於演算法的知識,現在在演算法上面還是屬於超級小白的階段,但是好好加油,相信總有一天會更加的優秀的!

來自為知筆記(wiz)

演算法 廣度優先演算法和深度優先演算法

廣度 bfs 和深度 dfs 優先演算法這倆個演算法是圖論裡面非常重要的兩個遍歷的方法。下面乙個例子迷宮計算,如下圖 解釋 所謂廣度,就是一層一層的,向下遍歷,層層堵截,看下面這幅圖,我們如果要是廣度優先遍歷的話,我們的結果是v1 v2 v3 v4 v5 v6 v7 v8。廣度優先搜尋的思想 訪問頂...

深度優先演算法和廣度優先演算法

圖形的深度優先搜尋法 void dfs int current 主程式 建立圖形後,將遍歷內容印出.void main 邊線陣列 int i for i 1 i 8 i creategraph node,20 建立圖形 printf 圖形的鄰接鍊錶內容 n for i 1 i 8 i printf ...

廣度優先演算法,深度優先演算法和DijKstra演算法

我們經常會碰到最短路徑問題,而最短路徑問題的解決方法多種多樣,廣度優先搜尋 bfs 深度優先搜尋 dfs 和dijkstra演算法貌似都能解決這個問題,這裡就簡單介紹一下這些演算法,分析一下它們的適用範圍。一 原理剖析 1 廣度優先搜尋 bfs 廣度優先搜尋依賴的是佇列解決問題。佇列中的每乙個節點需...