隣接行列
隣接リスト
幅優先探索(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)。 }