์ด๊ฒ์ด ์ฝ๋ฉํ ์คํธ๋ค/DFS,BFS(3)
-
BFS ๋ฌธ์ (๋ฏธ๋ก ํ์ถ) - ์ด๊ฒ์ด ์ฝ๋ฉํ ์คํธ๋ค
BFS ๋ฌธ์ (๋ฏธ๋ก ํ์ถ) - ์ด๊ฒ์ด ์ฝ๋ฉํ ์คํธ๋ค ๋๋น์ด๋ N x M ํฌ๊ธฐ์ ์ง์ฌ๊ฐํ ํํ์ ๋ฏธ๋ก์ ๊ฐํ ์๋ค. ๋ฏธ๋ก์๋ ์ฌ๋ฌ ๋ง๋ฆฌ์ ๊ดด๋ฌผ์ด ์์ด ์ด๋ฅผ ํผํด ํ์ถํด์ผ ํ๋ค. ๋๋น์ด์ ์์น๋ (1,1)์ด๊ณ ๋ฏธ๋ก์ ์ถ๊ตฌ๋ (N,M)์ ์์น์ ์กด์ฌํ๋ฉฐ ํ๋ฒ์ ํ ์นธ์ฉ ์ด๋ํ ์ ์๋ค. ์ด๋ ๊ดด๋ฌผ์ด ์๋ ๋ถ๋ถ์ 0์ผ๋ก, ๊ดด๋ฌผ์ด ์๋ ๋ถ๋ถ์ 1๋ก ํ์๋์ด ์๋ค. ๋ฏธ๋ก๋ ๋ฐ๋์ ํ์ถํ ์ ์๋ ํํ๋ก ์ ์๋๋ค. ์ด๋ ๋๋น์ด๊ฐ ํ์ถํ๊ธฐ ์ํด ์์ง์ฌ์ผ ํ๋ ์ต์ ์นธ์ ๊ฐ์๋ฅผ ๊ตฌํ์์ค. ์นธ์ ์ ๋๋ ์์์นธ๊ณผ ๋ง์ง๋ง ์นธ์ ๋ชจ๋ ํฌํจํด์ ๊ณ์ฐํ๋ค. ์ ๋ ฅ ์กฐ๊ฑด ์ฒซ์งธ ์ค์ ๋ ์ ์ N, M(4
2020.08.25 -
DFS๋ฌธ์ (์๋ฃ์ ์ผ๋ ค ๋จน๊ธฐ) - ์ด๊ฒ์ด ์ฝ๋ฉ ํ ์คํธ๋ค
DFS๋ฌธ์ (์๋ฃ์ ์ผ๋ ค ๋จน๊ธฐ) - ์ด๊ฒ์ด ์ฝ๋ฉ ํ ์คํธ๋ค N x M ํฌ๊ธฐ์ ์ผ์ ํ์ด ์๋ค. ๊ตฌ๋ฉ์ด ๋ซ๋ ค ์๋ ๋ถ๋ถ์ 0, ์นธ๋ง์ด๊ฐ ์กด์ฌํ๋ ๋ถ๋ถ์ 1๋ก ํ์๋๋ค. ๊ตฌ๋ฉ์ด ๋ซ๋ ค ์๋ ๋ถ๋ถ๋ผ๋ฆฌ ์, ํ, ์ข, ์ฐ ๋ถ์ด ์๋ ๊ฒฝ์ฐ ์๋ก ์ฐ๊ฒฐ๋์ด ์๋ ๊ฒ์ผ๋ก ๊ฐ์ฃผํ๋ค. ์ด๋ ์ผ์ ํ์ ๋ชจ์์ด ์ฃผ์ด์ก์ ๋ ์์ฑ๋๋ ์ด ์์ด์คํฌ๋ฆผ์ ๊ฐ์๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ๋ค์์ 4 x 5 ์ผ์ ํ ์์์์๋ ์์ด์คํฌ๋ฆผ์ด ์ด 3๊ฐ ์์ฑ๋๋ค. 0 0 1 1 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 ์ ๋ ฅ ์กฐ๊ฑด: ์ฒซ ๋ฒ์งธ ์ค์ ์ผ์ ํ์ ์ธ๋ก ๊ธธ์ด N๊ณผ ๊ฐ๋ก ๊ธธ์ด M์ด ์ฃผ์ด์ง๋ค.(1 list๋ฅผ ๋ฐ๋๋ฐ ์ ๋ ฅ์ ๋ฐ์ ๋ค int๋ก ์ ์์ dfs(x-1,y) , dfs(x+1,y), dfs(x,y-1), dfs..
2020.08.25 -
DFS(๊น์ด ์ฐ์ ํ์), BFS(๋๋น ์ฐ์ ํ์)
DFS(๊น์ด ์ฐ์ ํ์), BFS(๋๋น ์ฐ์ ํ์) ์ค๋ ๋ฐฐ์๋ณผ ๋ด์ฉ์ ํ์์ด๋ค. ํ์์ด๋ ๋ง์ ์์ ๋ฐ์ดํฐ ์ค์์ ์ํ๋ ๋ฐ์ดํฐ๋ฅผ ์ฐพ๋ ๊ณผ์ ์ ๋งํ๋ค. ์ด๋ ์ฌ๋ฌ๊ฐ์ง ๋ฐฉ๋ฒ์ด ์๋๋ฐ, ํ๋ก๊ทธ๋๋ฐ์์ ์์ฃผ ์ฌ์ฉํ๋, ๊ทธ๋ฆฌ๊ณ ๊ฐ์ฅ ์ค์์๋๋ ๊ตฌ์กฐ๋ ๋ฐ๋ก DFS, BFS ์ด๋ค. ์ด๋ฅผ ์ดํดํ๊ธฐ ์ํด์๋ ๋จผ์ ์๋ฃ๊ตฌ์กฐ์ ๋ํด์ ์์ ๋ณผ ํ์๊ฐ ์๋ค. ์๋ฃ๊ตฌ์กฐ๋ '๋ฐ์ดํฐ๋ฅผ ํํํ๊ณ ๊ด๋ฆฌํ๊ณ ์ฒ๋ฆฌํ๊ธฐ ์ํ ๊ตฌ์กฐ'๋ฅผ ๋งํ๋ค. ๋ํ์ ์ผ๋ก ์๋ฃ๊ตฌ์กฐ์๋ ๋ฐฐ์ด, ์ฐ๊ฒฐ๋ฆฌ์คํธ, ์คํ, ํ, ํธ๋ฆฌ, ๊ทธ๋ํ๊ฐ ์๋๋ฐ, ์ฐ๋ฆฌ๊ฐ ํ์ํ ์๋ฃ๊ตฌ์กฐ๋ ์คํ๊ณผ ํ์ด๋ค. ์คํ(Stack) "๋จผ์ ๋ค์ด๊ฐ ๋ฐ์ดํฐ๊ฐ ๊ฐ์ฅ ๋์ค์ ๋์จ๋ค"๊ฐ ํต์ฌ์ด๋ค. ์ด๋ฅผ ์ฐ๋ฆฌ๋ FILO(First In Last Out)๋ผ๊ณ ๋ถ๋ฅธ๋ค. ํ์ด์ฌ์์ ์คํ์ ๊ธฐ๋ณธ ๋ฆฌ์คํธ์์..
2020.08.25