搜尋DFS演算法

2021-08-15 02:13:35 字數 594 閱讀 6248

dfs(深度搜尋法)

1.首先確定深度或搜尋終點

2.利用函式遞迴(適當做回溯)

【缺點:難以找到最優解但占用記憶體小】

例題1:oil deposits

經典連通塊問題

ac**:

#include #include #include using namespace std ;

char tian[101][101] ;

int id[101][101] ;

int n , m ;

void dfs ( int x , int y , int num )

} int main ()

, ed[10] ;

int n=8 , t=1 ;

bool lie( int z )

return 1 ;

} //檢查相同列

void dfs( int x)

} for( int i = 0 ; i < n ; i++ ) }

}int main ()

最後總結:確定會使用基礎dfs 但還需要多聯絡。

搜尋 DFS 深度優先搜尋 演算法分析

為方便對dfs演算法的考察,為圖g的每個結點設定屬性color表示結點的顏色,color可取white 白色 gray 灰色 或black 黑色 同時為每個結點設定屬性d表示剛進行對此結點訪問的時刻,設定屬性f表示剛結束對此結點訪問的時刻,先給出如下dfs和dfs visit兩個演算法,然後對其進行...

深度優先搜尋演算法(DFS)

1.深度優先搜尋屬於圖的遍歷演算法的一種,英文縮寫為dfs即depth first search.其過程簡要來說是對每乙個可能的分支路徑深入到不能再深入為止,而且每個節點只能訪問一次。2.搜尋策略 深度優先遍歷圖的方法是,從圖中某頂點v出發 1 訪問頂點v 2 依次從v的未被訪問的鄰接點出發,對圖進...

深度優先搜尋 DFS 演算法摘記

圖的表示 對於圖g v,e 可以用兩種標準表示方法表示。一種表示法是將圖作為鄰接鍊錶的組合,另一種是將圖作為鄰接矩陣來看待。鄰接鍊錶 鄰接鍊錶表示由乙個包含 v 條鍊錶的陣列adj所構成,每個結點有一條鍊錶。對於每個結點u,鄰接鍊錶adj u 包含所有與結點u之間有邊相連的結點v。鄰接鍊錶在表示稀疏...