[]データ構造及びアルゴリズム(XI)図。

隣接行列

隣接リスト

幅優先探索(BFS)キュー訪問前

深さ優先探索(DFS)バックトラックアルゴリズム

 

 

LeetCode

1つの  島々の数

公共:
    int型の行、列、
    INT numIslands(ベクトル<ベクトル<チャー>>&グリッド){ 
        
        列= grid.size()。
        int型のカウント= 0; 
        IF(行== 0)戻りカウント; 
        カラム=グリッド[0] .size()。
        
        以下のために(INT i = 0; iは、行<; iは++){ 
            ための(int型J = 0; J <カラム; J ++){ 
                IF(グリッド[I] [J] == '1'){ 
                    ++数えます。
                    DFS(グリッド、i、j)は、
                } 
            } 
        } 
        リターン回数、
    } 
    
    ボイドDFS(ベクトル<ベクトル<チャー>>&グリッド、INT R、INT C){ 
        グリッド[R] [C] = '0'; 
        (R-1> = 0 &&格子[R-1] [C] == '1')であれば、DFS(グリッド、
        IF(C + 1 <列&&格子[R] [C + 1] == '1')のDFS(グリッド、R、C + 1)。
        IF(C-1> = 0 &&格子[R] [C-1] == '1')のDFS(グリッド、R、C-1)。
        IF(R + 1 <行&&格子[R + 1] [C] == '1')のDFS(グリッド、R + 1、C)。
    }

  

 

おすすめ

転載: www.cnblogs.com/jiwen/p/11443543.html