๐ฉ ๋ฃจํธ ๋ ธ๋์์ ์์ํ์ฌ ์ธ์ ํ ๋ ธ๋์์ ์์ํด์ ์ธ์ ํ ๋ ธ๋๋ฅผ ๋จผ์ ํ์
์ง๊ธ ์์น์์ ๊ฐ ์ ์๋ ๊ฒ๋ค์ ๋ชจ๋ ํ(queue)์ ๋ฃ๋ ๋ฐฉ์
ํ์ ๋ฃ์ ์์ ์ ํด๋น ๋ ธ๋๋ฅผ ๋ฐฉ๋ฌธํ๋ค๊ณ ์ฒดํฌํด์ผ ํ๋ค. cf. DFS๋ ์ผ๋จ ๋ค์ด๊ฐ์ ์ฒดํฌ
ํ์ while ๋ฐ๋ณต๋ฌธ ํ์ฉ
๐ฉ ๋ฐฉ๋ฒ
๊ทธ๋ํ๋ฅผ ์์ฐจ์ ์ผ๋ก ๋ฐฉ๋ฌธํ ์ ์์ด์ผ ํ๊ณ , ๋ฐฉ๋ฌธํ ๋ ธ๋๋ค์ ๋ค์ ํ์ํ ์ผ์ด ์๋๋ก ๋ฐฉ๋ฌธ ์ฒ๋ฆฌ๋์ด์ผ ํ๋ค.
1) ์์ ์ ์ A๋ฅผ ํ์ ๋ฃ๊ณ ๋ฐฉ๋ฌธ ์ฒ๋ฆฌํ๋ค. A
2) ํ์์ A๋ฅผ ๊บผ๋ด๊ณ , ์ธ์ ๋
ธ๋ B, C๋ฅผ ํ์ ์ฝ์
ํ ๋ฐฉ๋ฌธ ์ฒ๋ฆฌํ๋ค. B C
3) ํ์์ B๋ฅผ ๊บผ๋ด๊ณ , ์ธ์ ๋
ธ๋ D, E๋ฅผ ํ์ ์ฝ์
ํ ๋ฐฉ๋ฌธ ์ฒ๋ฆฌํ๋ค. C D E
4) ํ์์ C๋ฅผ ๊บผ๋ด๊ณ , ์ธ์ ๋
ธ๋ F, G๋ฅผ ํ์ ์ฝ์
ํ ๋ฐฉ๋ฌธ ์ฒ๋ฆฌํ๋ค. D E F G
5) ์ ๊ณผ์ ์ ์คํ์ ์๋ฌด๊ฒ๋ ๋จ์ง ์์ ๋๊น์ง ๋ฐ๋ณตํ๋ค.
๐ฉ ์๊ฐ๋ณต์ก๋
๊น์ด ์ฐ์ ํ์(DFS)์ ๋์ผ
V : ์ ์ (๋ ธ๋)์ ์, E : ๊ฐ์ ์ ์
์ธ์ ํ๋ ฌ์์์ ์๊ฐ ๋ณต์ก๋ O(V^2)
์ธ์ ๋ฆฌ์คํธ์์์ ์๊ฐ ๋ณต์ก๋ O(V+E)
๐ฉ ์ฅ์
์ถ๋ฐ ๋ ธ๋์์ ๋ชฉํ ๋ ธ๋๊น์ง์ ์ต๋จ ๊ธธ์ด ๊ฒฝ๋ก๋ฅผ ๋ณด์ฅํ๋ค.
๐ฉ ๋จ์
๊ฒฝ๋ก๊ฐ ๋งค์ฐ ๊ธธ ๊ฒฝ์ฐ์๋ ํ์ ๊ฐ์ง๊ฐ ๊ธ๊ฒฉํ ์ฆ๊ฐํจ์ ๋ฐ๋ผ ๋ณด๋ค ๋ง์ ๊ธฐ์ด๊ฑฐ ๊ณต๊ฐ์ ํ์๋ก ํ๋ค.
ํด๊ฐ ์กด์ฌํ์ง ์๋๋ค๋ฉด ๋ชจ๋ ๊ทธ๋ํ๋ฅผ ํ์ํ ํ์๋ ์คํจ๋ก ๋๋๋ค.
๋ฌดํ ๊ทธ๋ํ์ ๊ฒฝ์ฐ์๋ ํด๋ฅผ ์ฐพ์ง๋ ๋ชปํ๊ณ , ๋๋ด์ง๋ ๋ชปํ๋ค.
๐ฉ ํ์ฉ
1. ์ฃผ๋ก ๋ ๋ ธ๋ ์ฌ์ด์ ์ต๋จ ๊ฒฝ๋ก๋ฅผ ์ฐพ๊ณ ์ถ์ ๋ ํ์ฉ
2. ๊ฒ์๋์์ ๊ท๋ชจ๊ฐ ํฌ์ง ์๊ณ , ๊ฒ์ ์์ ์ง์ ์ผ๋ก๋ถํฐ ์ํ๋ ๋์์ด ๋ง์ด ๋ฉ์ง ์์ ๊ฒฝ์ฐ
'๐ฉโ๐ป ํ๋ก๊ทธ๋๋ฐ > โจ ์๋ฃ๊ตฌ์กฐ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
ํ์ด(Pair) (0) | 2024.04.15 |
---|---|
๋ฒกํฐ(Vector) (0) | 2024.04.15 |
๊น์ด ์ฐ์ ํ์(DFS) (0) | 2024.04.14 |
ํธ๋ฆฌ(Tree) (0) | 2024.04.13 |
๊ทธ๋ํ(Graph) | ์์ ์ ๋ ฌ | ์ฐ๊ฒฐ ์ฑ๋ถ (0) | 2024.04.13 |