BFS, DFS๋ ๊ทธ๋ํ์ ํ์ ๊ธฐ๋ฒ์ผ๋ก
๋ชฉ์ ์ ์์์ ํ ์ ์ ์์ ์์ํ์ฌ ๋ชจ๋ ์ ์ ์ ๋ฐฉ๋ฌธํ๋ ๋ฐ ์๋ค.
๊น์ด ์ฐ์ ํ์ - DFS(Depth-first search)
์์ ๋ ธ๋๋ฅผ ์ฐ์ ์ ์ผ๋ก ํ์
์ฆ, ์์ง ๋ฐฉ๋ฌธ๋์ง ์์ ์ธ์ ๋ ธ๋(์์ ๋ ธ๋)๋ฅผ ์ฐ์ ์ ์ผ๋ก ํ์
๊น์ด ์ฐ์ ํ์์ ํ์ชฝ๋ง ์ฃฝ์ด๋ผ ํ๋ค๊ฐ ๋์ด์ ํ ๊ณณ์ด ์์ผ๋ฉด ๋ค์ ๋์์์ ๋ค๋ฅธ ํ์ชฝ์ ์ฃฝ์ด๋ผ ํ๋ ํ์์ด๋ค.
๊น์ด ์ฐ์ ํ์์ Stack์ ํตํด ๊ตฌํ๋๋ค.
๋๋น ์ฐ์ ํ์ - BFS(Breadth-first search)=๋ ๋ฒจ ์ํ(level-order traversal)
์ฝ๋๋งํฌ : BFS ์ฝ๋ (tistory.com)
๊ฐ์ ์ ๋ชจ๋ ๊ฐ์ค์น๊ฐ ๊ฐ์ ๋, ์ต๋จ ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํ๋ ์๊ณ ๋ฆฌ์ฆ์ผ๋ก
์์ ์ ์ ์ ๊ธฐ์ค์ผ๋ก ๊ฐ๊น์ด ์ ์ ์ ๋จผ์ ๋ฐฉ๋ฌธํ๋ค.
๋ฐฉ๋ฌธ ์์๋ ์ต๋จ ๊ฑฐ๋ฆฌ์ ์ํฅ์ ๋ผ์น๋ค.
ํ์ ๋ ธ๋๋ฅผ ์ฐ์ ์ ์ผ๋ก ํ์
์ฆ, ์์ง ๋ฐฉ๋ฌธ๋์ง ์์ ์ด์ ๋ ธ๋(๋ถ๋ชจ ๋ ธ๋)์ ์ธ์ ๋ ธ๋(ํ์ฌ ๋ ธ๋์ ํ์ ๋ ธ๋)๋ฅผ ์ฐ์ ์ ์ผ๋ก ํ์
๋ณดํต ๋๋น ์ฐ์ ํ์์ Queue๋ฅผ ํตํด ๊ตฌํํ์ฌ ์ ์ ์ ์ถ์ ์์น์ผ๋ก ํ์ํ๋ค.
๊ฐ ๋ ธ๋๋ฅผ ๋ฐฉ๋ฌธํ ๋ visit[y][x]=1๋ก ๋ณ๊ฒฝํด์ค๋ค๋ฉด,
visit[y][x]=1์ธ ๋ ธ๋๋ฅผ ๋ง๋ ๋ continue; ํด์ฃผ๋ ๋ฐฉ์์ผ๋ก ์ค๋ณต ๋ฐฉ๋ฌธ์ ํํผํ๋ค.
'์๋ฃ๊ตฌ์กฐ์ ์๊ณ ๋ฆฌ์ฆ > ์๊ณ ๋ฆฌ์ฆ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[c++] ์ฝ์ ์ ๋ ฌ (0) | 2021.09.21 |
---|---|
[c++] ๋ฒ๋ธ์ ๋ ฌ (0) | 2021.09.21 |
[c++] [์ ํ ์ ๋ ฌ] ํ์ฉํด์ ๋ฐฐ์ด ์ ์ซ์๋ค์ ์ค๋ฆ์ฐจ์์ผ๋ก ๋ฐ๊พธ๊ธฐ (0) | 2021.09.20 |
c++ ๋ฐฐ์ด ์ค๋ฆ์ฐจ์ ๋ด๋ฆผ์ฐจ์ ๊ตฌํ (0) | 2021.09.20 |
2. [c++] ํน์ ๊ฐ ์ดํ์ ์ ์ค์์ ๊ฐ์ฅ ํฐ 2์ ๊ฑฐ๋ญ์ ๊ณฑ๋ง ๋ฐํํ๋ ํจ์๋ง๋ค๊ธฐ (0) | 2021.09.18 |