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。鄰接鍊錶在表示稀疏...