TL;DR: ์ฝ์ฌ๋ผ์ฃผ์ ์๊ณ ๋ฆฌ์ฆ์ ๋ค์์ ์ฌ์ฉํ์ฌ ๋ฐฉํฅ์ฑ ๊ทธ๋ํ์์ ๊ฐํ๊ฒ ์ฐ๊ฒฐ๋ ๊ตฌ์ฑ์์๋ฅผ ์ฐพ์ต๋๋ค. ๋ ๊ฐ์ ๊น์ด ์ฐ์ ๊ฒ์ ํจ์ค. ๋จผ์ ์๋ฃ ์๊ฐ์ ์ค์ฌ ์ ์ ์ ๊ธฐ๋กํ๊ณ ๋ชจ๋ ๋ชจ์๋ฆฌ๋ฅผ ์ ์นํ ๋ค์ ์ ์น๋ ๊ทธ๋ํ๋ฅผ ํด๋น ์์๋๋ก ํ์ํฉ๋๋ค. ๋ฐํ์์ O(V + E)์ด๊ณ ์ ์น ์ ์ฅ ์ ๋ณด์กฐ ๊ธฐ์ต ์ฅ์น๋ O(V + E)์ ๋๋ค.
์ฝ์ฌ๋ผ์ฃผ์ ์๊ณ ๋ฆฌ์ฆ: ๊ฐ๋ ฅํ๊ฒ ์ฐ๊ฒฐ๋ ๊ตฌ์ฑ ์์ ๊ฐ์ด๋
์ง๊ด, ๋จ๊ณ, ๋ณต์ก์ฑ, ์์ฌ ์ฝ๋, ์์ , ์ผ๋ฐ์ ์ธ ์ค์ ๋ฐ ์ธํฐ๋ทฐ ์ฐ์ต์ ํตํด ๊ฐ๋ ฅํ๊ฒ ์ฐ๊ฒฐ๋ ๊ตฌ์ฑ ์์์ ๋ํ ์ฝ์ฌ๋ผ์ฃผ์ ์๊ณ ๋ฆฌ์ฆ์ ์์๋ณด์ธ์.
YesToTheOffer ์๋Kosaraju์ ์๊ณ ๋ฆฌ์ฆ์ ๋ฌด์์ ๋๊น?

Kosaraju์ ์๊ณ ๋ฆฌ์ฆ์ ๋ฐฉํฅ์ฑ ๊ทธ๋ํ๋ฅผ ๊ฐ๋ ฅํ๊ฒ ์ฐ๊ฒฐ๋ ๊ตฌ์ฑ์์(SCC)๋ก ๋ถํ ํฉ๋๋ค. ํ๋์ SCC ๋ด์์ ๋ชจ๋ ์ ์ ์ ๋ค๋ฅธ ๋ชจ๋ ์ ์ ์ ๋๋ฌํ ์ ์์ต๋๋ค. ๊ฐ SCC๋ฅผ ํ๋์ ๋ ธ๋๋ก ์ถ์ํ๋ฉด ๋ฐฉํฅ์ฑ ๋น์ํ ๊ทธ๋ํ๊ฐ ์์ฑ๋๋ฉฐ, ์ด๋ ์ข ์์ฑ ๋ถ์, ํ๋ก๊ทธ๋จ ๊ทธ๋ํ, ๋๋ฌ ๊ฐ๋ฅ์ฑ ๋ฐ ๊ทธ๋ํ ์์ถ์ ๊ตฌ์ฑ ์์๋ฅผ ์ ์ฉํ๊ฒ ๋ง๋ญ๋๋ค.
์ด ์๊ณ ๋ฆฌ์ฆ์ ๊น์ด ์ฐ์ ํ์์ ๊ตฌ์กฐ์ ์์ฑ์ ์ฌ์ฉํฉ๋๋ค. ์๋ ๊ทธ๋ํ์ ์๋ฃ ์๊ฐ์ ์ ์น๋ ๊ทธ๋ํ๋ฅผ ํ์ํ๊ธฐ ์ํ ์์ ํ ์์๋ฅผ ์๋ณํฉ๋๋ค. ๋ชจ๋ ์์ง๋ฅผ ๋ฐ์ ์ํค๋ฉด ๊ตฌ์ฑ ์์ ๊ฐ์ ์์ค์ ์ฑํฌ ๊ด๊ณ๊ฐ ๋ฐ๋๋ฏ๋ก ์ ์ ์ด ์ฌ๋ฐ๋ฅธ ์์๋ก ์ฒ๋ฆฌ๋ ๋ ํ๋์ ๊ฒ์์ด ํ ๋น๋์ง ์์ ๊ตฌ์ฑ ์์๋ก ๋์ถ๋ ์ ์์ต๋๋ค.
2๋จ๊ณ ์๊ณ ๋ฆฌ์ฆ์ ์ด๋ป๊ฒ ์๋ํ๋์?
- ๋ฐฉ๋ฌธ ์ธํธ์ ๋น ์๋ฃ ์์ ๋ชฉ๋ก์ ๋ง๋ญ๋๋ค.
- ์๋ณธ ๊ทธ๋ํ์์ ๋ฐฉ๋ฌธํ์ง ์์ ๋ชจ๋ ์ ์ ์ ๋ํด ๊น์ด ์ฐ์ ํ์์ ์คํํฉ๋๋ค.
- ๋๊ฐ๋ ์ด์์ด ๋ชจ๋ ์๋ฃ๋ ํ ๊ฐ ์ ์ ์ ์ถ๊ฐํฉ๋๋ค.
- ๋ชจ๋ ๋ฐฉํฅ ๊ฐ์ฅ์๋ฆฌ๋ฅผ ๋ฐ๋๋ก ํ์ฌ ์ ์น๋ฅผ ๋ง๋ญ๋๋ค.
- ๋ฐฉ๋ฌธํ ์ธํธ๋ฅผ ์ง์๋๋ค.
- ์ ์ ์ ์ญ์์ผ๋ก ์ฒ๋ฆฌํฉ๋๋ค.
- ์ ์น๋ ๊ทธ๋ํ์ ๊ฐ DFS ํธ๋ฆฌ๋ ํ๋์ ๊ฐ๋ ฅํ๊ฒ ์ฐ๊ฒฐ๋ ๊ตฌ์ฑ ์์์ ๋๋ค.
์ฒซ ๋ฒ์งธ DFS ํธ์ถ์ด ๋ฐํ๋ ๋ ์ ์ ์ ์คํ์ ์ ์ฅํ ์ ์์ต๋๋ค. ์คํ์ ํฐ๋จ๋ฆฌ๋ฉด ์์ฐ์ค๋ฝ๊ฒ ์๋ฃ ์๊ฐ์ด ์ค์ด๋ญ๋๋ค. ๊ทธ๋ํ์ ์ฐ๊ฒฐ์ด ๋์ด์ง ์ ์์ผ๋ฏ๋ก ๋ ์ธ๋ถ ๋ฃจํ ๋ชจ๋ ์ ์ 0์์๋ง ์์ํ๋ ๋์ ๋ชจ๋ ์ ์ ์ ๊ณ ๋ คํด์ผ ํฉ๋๋ค.
๋ง๋ฌด๋ฆฌ ์์๋ฅผ ๋ฐ๋๋ก ํ๋ฉด SCC๋ฅผ ์ฐพ๋ ์ด์ ๋ ๋ฌด์์ ๋๊น?
๋ชจ๋ SCC๋ฅผ ๋จ์ผ ๋ ธ๋๋ก ์์ถํ๋ค๊ณ ์์ํด ๋ณด์ญ์์ค. ๊ฒฐ๊ณผ ์์ถ ๊ทธ๋ํ์๋ ๋ฐฉํฅ์ฑ ์ฌ์ดํด์ด ์์ต๋๋ค. ์ฒซ ๋ฒ์งธ DFS์์๋ ๊ด๋ จ ์๋ฃ ์๊ฐ์ด ๊ฐ์ฅ ์ต๊ทผ์ธ ๊ตฌ์ฑ ์์๊ฐ ์ด ์์ถ ๊ตฌ์กฐ์ ์์ค์ฒ๋ผ ๋์ํฉ๋๋ค. ๊ทธ๋ํ๋ฅผ ์ ์นํ ํ ํด๋น ๊ตฌ์ฑ ์์๋ ์ฑํฌ์ฒ๋ผ ๋์ํ๋ฏ๋ก ๊ฑฐ๊ธฐ์ ์์๋ DFS๊ฐ ๊ทธ ์์ ๋จ์ ์์ต๋๋ค.
ํด๋น ๊ตฌ์ฑ ์์๋ฅผ ์ ๊ฑฐํ๋ฉด ํ ๋น๋์ง ์์ ๋ค์ ๊ตฌ์ฑ ์์์ ๋ํ ๋์ผํ ์ธ์๊ฐ ํ์๋ฉ๋๋ค. ์ด๋ ๋ฉด์ ๊ด์ด ์ผ๋ฐ์ ์ผ๋ก ์ํ๋ ์ฆ๊ฑฐ ์์ด๋์ด์ ๋๋ค. ๋ง๋ฌด๋ฆฌ ์์๋ ๊ตฌ์ฑ ์์๋ฅผ ์์ ํ๊ฒ ์ ํํ๊ณ ์ ์๋ ๋ ๋ฒ์งธ ํจ์ค๊ฐ ์๋ชป๋ ๋๊ฐ๋ ๊ฒฝ๊ณ๋ฅผ ๋์ด๊ฐ๋ ๊ฒ์ ๋ฐฉ์งํฉ๋๋ค. ๊ธด ๊ณต์ ์ฆ๋ช ์ ์ฌํํ ํ์๋ ์์ง๋ง ๋ ์ญํ ์ ๋ชจ๋ ์ค๋ช ํด์ผ ํฉ๋๋ค.
์๊ฐ๊ณผ ๊ณต๊ฐ์ ๋ณต์ก์ฑ์ ๋ฌด์์ ๋๊น?
๊ฐ ๊น์ด ์ฐ์ ๊ฒ์ ํจ์ค๋ ๋ชจ๋ ์ ์ ์ ๋ฐฉ๋ฌธํ๊ณ ๋ชจ๋ ๊ฐ์ฅ์๋ฆฌ๋ฅผ ํ ๋ฒ ๊ฒ์ฌํ๋ฉฐ ์ ์น ๊ตฌ์ฑ์๋ ์ ํ ์๊ฐ์ด ๊ฑธ๋ฆฝ๋๋ค. ๋ฐ๋ผ์ ์ด ์๊ฐ์ O(V + E)์ ๋๋ค. ๊ทธ๋ํ์ ์ ์น์ ๋ํ ์ธ์ ๋ชฉ๋ก์ ์ฌ์ฉํ๋ฉด ์ ์ฅ ๊ณต๊ฐ์ O(V + E)์ด๊ณ ๋ฐฉ๋ฌธ ์ํ, ์๋ฃ ์์, ์ฌ๊ท ๋๋ ๋ช ์์ ์คํ์ ๋ํ O(V)๊ฐ ๋ํด์ง๋๋ค.
| ๋จ๊ณ | ์๊ฐ | ์ถ๊ฐ ๋ชฉ์ |
|---|---|---|
| ํผ์คํธ DFS | O(V + E) | ๊ธฐ๋ก ์๋ฃ ์์ |
| ์กฐ์ฎ๊น | O(V + E) | ๋ฐ๋ ๊ฐ์ฅ์๋ฆฌ ๋ฐฉํฅ |
| ๋ ๋ฒ์งธ DFS | O(V + E) | ๊ตฌ์ฑ ์์ ์์ง |
| ํฉ๊ณ | O(V + E) | ๊ทธ๋ํ ํํ์ ์ ํ |
๋งค์ฐ ๊น์ ๊ทธ๋ํ์ ๊ฒฝ์ฐ ์ฌ๊ท DFS๋ ์ธ์ด์ ํธ์ถ ์คํ ์ ํ์ ์ด๊ณผํ ์ ์์ต๋๋ค. ๋ฐ๋ณต ์คํ์ ์ธ๊ธํ๋ฉด โโ์ ๊ทผ์ ๊ฒฝ๊ณ๋ฅผ ๋ณ๊ฒฝํ์ง ์๊ณ ์์ฐ ์ธ์์ ๋ณด์ฌ์ค๋๋ค.

์ธํฐ๋ทฐ๋ฅผ ์ํด ์์์ผ ํ ์์ฌ์ฝ๋๋ ๋ฌด์์ ๋๊น?
๋ง๋ฌด๋ฆฌ_์ฃผ๋ฌธ = []
๋ฐฉ๋ฌธ = ์ค์ ()
๊ทธ๋ํ์ ์ ์ ์ ๋ํด:
์ ์ ์ด ๋ฐฉ๋ฌธ๋์ง ์์ ๊ฒฝ์ฐ:
dfs_finish(์ ์ , ๊ทธ๋ํ, ๋ฐฉ๋ฌธ, ์๋ฃ_์)
์ ์น = reverse_all_edges(๊ทธ๋ํ)
๋ฐฉ๋ฌธํ์ต๋๋ค.clear()
๊ตฌ์ฑ ์์ = []
์ญ๋ฐฉํฅ ์ ์ ์ ๊ฒฝ์ฐ(finish_order):
์ ์ ์ด ๋ฐฉ๋ฌธ๋์ง ์์ ๊ฒฝ์ฐ:
๊ตฌ์ฑ ์์ = []
dfs_collect(์ ์ , ์ ์น, ๋ฐฉ๋ฌธ, ๊ตฌ์ฑ ์์)
๊ตฌ์ฑ ์์.์ถ๊ฐ(๊ตฌ์ฑ ์์)
dfs_finish์์ ์ด์์ ๋ฐฉ๋ฌธํ ํ ์ ์ ์ ์ถ๊ฐํฉ๋๋ค. dfs_collect์์ ์ ์ ์ด ๋ฐ๊ฒฌ๋๋ฉด ํด๋น ์ ์ ์ ์ถ๊ฐํฉ๋๋ค. ์ด ๋ ๊ฐ์ง ์ฑ ์์ ๋ณ๋๋ก ์ ์งํ์ญ์์ค. ์ฒซ ๋ฒ์งธ ํจ์ค์์ ์ ์ฃผ๋ฌธ์ ์ฌ์ฉํ๋ ๊ฒ์ ์ผ๋ฐ์ ์ธ ์ค๋ฅ์ ๋๋ค.
Kosaraju ๊ตฌํ์ ๋ง๊ฐ๋จ๋ฆฌ๋ ์ผ๋ฐ์ ์ธ ์ค์๋ ๋ฌด์์ ๋๊น?
๊ฐ์ฅ ์ผ๋ฐ์ ์ธ ์ค์๋ ์๋ฃ ์์ ๋์ ๊ฒ์ ์์๋ฅผ ๊ธฐ๋กํ๋ ๊ฒ, ๋ ๋ฒ์งธ ํจ์ค์ ์์๋ฅผ ๋ฐ๊พธ๋ ๊ฒ์ ์๋ ๊ฒ, ์ผ๋ถ ๊ฐ์ฅ์๋ฆฌ๋ง ๋ฐ์ ํ๋ ๊ฒ, ๋ฐฉ๋ฌธ ์ํ๋ฅผ ์ง์ฐ์ง ์๊ณ ์ฌ์ฌ์ฉํ๋ ๊ฒ, ๊ฒฉ๋ฆฌ๋๊ฑฐ๋ ์ฐ๊ฒฐ์ด ๋๊ธด ์ ์ ์ ๊ฑด๋๋ฐ๋ ๊ฒ์ ๋๋ค. ๋ ๋ค๋ฅธ ์ค์๋ SCC๊ฐ ๋์ผํ ๋ฐฉ์์ผ๋ก ์๋ฏธ๊ฐ ์๋ ๊ฒ์ฒ๋ผ ๋ฌดํฅ ๊ทธ๋ํ๋ฅผ ์ทจ๊ธํ๋ ๊ฒ์ ๋๋ค. ์ฐ๊ฒฐ๋ ๊ตฌ์ฑ ์์๋ ๋ ๊ฐ๋จํ ๊ฐ๋ ์ ๋๋ค.
๋จ์ผ ๊ผญ์ง์ , ๊ฒฉ๋ฆฌ๋ ๊ผญ์ง์ , ๋จ์ผ ๋ฐฉํฅ ์ํ, ๋จ๋ฐฉํฅ ์ฒด์ธ, ํ๋์ ๊ฐ์ ์ผ๋ก ์ฐ๊ฒฐ๋ ๋ ์ํ, ์์ฒด ๋ฃจํ ๋ฐ ์ฐ๊ฒฐ์ด ๋์ด์ง ๊ทธ๋ํ๋ฅผ ํ ์คํธํฉ๋๋ค. ์ ํจํ DFS ์ํ ์์๊ฐ ๋ค๋ฅด๋ฉด ๊ตฌ์ฑ ์์๋ ์ ์ ์ด ๋ค๋ฅด๊ฒ ๋์ด๋ ์ ์์ผ๋ฏ๋ก ๊ตฌ์ฑ ์์ ์ถ๋ ฅ ์์์ ์์กดํ๊ธฐ๋ณด๋ค๋ ํํฐ์ ์ ํ์ธํ์ญ์์ค.
Kosaraju๋ Tarjan์ ์๊ณ ๋ฆฌ์ฆ๊ณผ ์ด๋ป๊ฒ ๋น๊ต๋ฉ๋๊น?
๋ ์๊ณ ๋ฆฌ์ฆ ๋ชจ๋ O(V + E)์์ SCC๋ฅผ ์ฐพ์ต๋๋ค. Kosaraju๋ ๋ ๊ฐ์ DFS ํจ์ค๋ฅผ ์ฌ์ฉํ๊ณ ์ผ๋ฐ์ ์ผ๋ก ์ ์น๋ ๊ทธ๋ํ๋ฅผ ์ ์ฅํ๋ฏ๋ก ์ถ๋ก ๊ณผ ๊ตฌํ์ด ๊ฐ๋จํด์ง๋๋ค. Tarjan์ ๊ฒ์ ์ธ๋ฑ์ค, ๋ฎ์ ๋งํฌ ๊ฐ ๋ฐ ์คํ์ด ํฌํจ๋ ํ๋์ DFS๋ฅผ ์ฌ์ฉํฉ๋๋ค. ๋ช ์์ ์ธ ์ ์น๋ฅผ ํผํ์ง๋ง ์ฌ๋ฐ๋ฅด๊ฒ ์ ์งํด์ผ ํ ์ํ๊ฐ ๋ ๋ง์ต๋๋ค.
์ธํฐ๋ทฐ์์๋ ์ ์ฝ ์กฐ๊ฑด์ด ์ข์ง ์์ ํ ์์ ์ ์ผ๋ก ์ค๋ช ํ๊ณ ๊ตฌํํ ์ ์๋ ์๊ณ ๋ฆฌ์ฆ์ ์ ํํ์ธ์. ๋ฉด์ ๊ด์ด 1ํ ํต๊ณผ ๋๋ ์ ์น ์์์ ์๊ตฌํ๋ ๊ฒฝ์ฐ Tarjan์ด ๋ ์ ํฉํ ์ ์์ต๋๋ค. ๋ช ํ์ฑ๊ณผ ์ง์ ์ ์ธ ์ฆ๊ฑฐ๊ฐ ์ฐ์ ์๋๋ค๋ฉด Kosaraju๊ฐ ํ์ํ ์ ํ์ธ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค.
AI๋ ์ด๋ป๊ฒ ๊ทธ๋ํ ์๊ณ ๋ฆฌ์ฆ ์ค์ต์ ์ฑ ์๊ฐ ์๊ฒ ์ง์ํ ์ ์๋์?
AI๋ ์์ ๋ฐ๋ก๋ฅผ ์์ฑํ๊ณ , DFS ์ํ๋ฅผ ์ถ์ ํ๊ณ , ๊ตฌํ์ ๋น๊ตํ๊ณ , ๋ณต์ก์ฑ ์ค๋ช ์ ๋์ ํ ์ ์์ต๋๋ค. ์ฝ๋ฉ ์ง์์ ์ฃผ๋ฌธ ๋๋ ๋ฐฉ๋ฌธ ์ํ ๋ฒ๊ทธ๋ฅผ ์ฐพ๋ ๋ฐ ๋์์ด ๋ ์ ์์ผ๋ฉฐ, ๋ น์ทจ๋ก ๊ฒํ ๋ฅผ ํตํด ์ฆ๋ช ์์ด๋์ด๋ฅผ ๋ช ํํ๊ฒ ์ค๋ช ํ๋์ง ์ฌ๋ถ๋ฅผ ํ์ธํ ์ ์์ต๋๋ค.
ํญ์ ์ต์ํ ํ๋์ ๊ทธ๋ํ๋ฅผ ์ง์ ๊ทธ๋ ค์ ์ถ์ ํ๊ณ , ํ ์คํธ๋ฅผ ์คํํ๊ณ , ์์ฑ๋ ์ฃผ์ฅ์ ํ์ธํ์ธ์. ํ๊ฐ ๊ท์น์ ๋ฐ๋ฅด๊ณ ๊ธ์ง๋ ์ง์์ ์ฌ์ฉํ์ง ๋ง์ญ์์ค. YesToTheOffer๋ ์ฝ๋ฉ ์ค๋น, ํ์ฉ๋ ์ค์๊ฐ ์ถ๋ก , ๋น๊ณต๊ฐ ๋ฉ๋ชจ ๋ฐ ์ธํฐ๋ทฐ ํ ๊ฒํ ๋ฅผ ์ง์ํฉ๋๋ค.
์์ฃผ ๋ฌป๋ ์ง๋ฌธ
FAQ
Kosaraju์ ์๊ณ ๋ฆฌ์ฆ์ ๋ฌด์์ ์ฌ์ฉ๋ฉ๋๊น?
Kosaraju์ ์๊ณ ๋ฆฌ์ฆ์ ๋ฐฉํฅ์ฑ ๊ทธ๋ํ์์ ๊ฐํ๊ฒ ์ฐ๊ฒฐ๋ ๊ตฌ์ฑ ์์๋ฅผ ์ฐพ์ต๋๋ค. SCC๋ ๊ฐ ๊ตฌ์ฑ ์์๋ฅผ ํ๋์ ๋ ธ๋๋ก ์ถ์ํ์ฌ ๋ฐฉํฅ์ฑ ๋น์ํ ์์ถ ๊ทธ๋ํ๋ฅผ ์์ฑํ ์ ์์ผ๋ฏ๋ก ์ฐ๊ฒฐ ๊ฐ๋ฅ์ฑ ๋ฐ ์ข ์์ฑ ๊ตฌ์กฐ๋ฅผ ๋จ์ํํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค.
Kosaraju์ ์๊ณ ๋ฆฌ์ฆ์ ๋ ๊ฐ์ DFS ํจ์ค๊ฐ ํ์ํ ์ด์ ๋ ๋ฌด์์ ๋๊น?
์ฒซ ๋ฒ์งธ ํจ์ค๋ ๋ค์์ ํ์ํ๊ธฐ์ ์์ ํ ๊ตฌ์ฑ ์์๋ฅผ ์๋ณํ๋ ์๋ฃ ์๊ฐ ์์๋ฅผ ๊ณ์ฐํฉ๋๋ค. ๋ ๋ฒ์งธ ํจ์ค๋ ์ ์น๋ ๊ทธ๋ํ์์ ์คํ๋ฉ๋๋ค. ์ฌ๊ธฐ์ ์ญ๋ฐฉํฅ ๊ฐ์ฅ์๋ฆฌ๋ ํด๋น ๊ฒ์์ด ํ ๋น๋์ง ์์ ๋ค๋ฅธ ๊ตฌ์ฑ ์์๋ก ๋น ์ ธ๋๊ฐ๋ ๊ฒ์ ๋ฐฉ์งํฉ๋๋ค.
Kosaraju ์๊ณ ๋ฆฌ์ฆ์ ๋ณต์ก์ฑ์ ๋ฌด์์ ๋๊น?
์๊ฐ ๋ณต์ก๋๋ O(V + E)์ ๋๋ค. ๋ ๊ฐ์ DFS ํต๊ณผ์ ์์ง ๋ฐ์ ์ ์ธ์ ๋ชฉ๋ก ๊ทธ๋ํ์์ ๊ฐ๊ฐ ์ ํ์ ๋๋ค. ์๋ณธ ๋ฐ ์ ์น๋ ๊ทธ๋ํ์ ๋ํด ์ ์ฅ๋ ์ธ์ ๋ชฉ๋ก์ ์ถ๊ฐ O(V) ์ํ ์ํ์ ํจ๊ป O(V + E) ๊ณต๊ฐ์ ์ฌ์ฉํฉ๋๋ค.
๊ตฌ์ฑ ์์ ์ถ๋ ฅ ์์๊ฐ ์ค์ํฉ๋๊น?
์ผ๋ฐ์ ์ผ๋ก ์๋์. ์๋ก ๋ค๋ฅธ ์ธ์ ์์๋ ๋์ผํ ์ ํจํ ํํฐ์ ์ ์์ฑํ๋ ๋์ DFS ์ํ ๋ฐ ์ ์ ๋๋ ๊ตฌ์ฑ ์์์ ์์๋ฅผ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค. ํ ์คํธ์์๋ ๋ฌธ์ ๊ฐ ๋ช ์์ ์ผ๋ก ํน์ ์์๋ฅผ ์๊ตฌํ์ง ์๋ ํ ๊ตฌ์ฑ ์์ ๋ฉค๋ฒ์ญ์ ์งํฉ์ผ๋ก ๋น๊ตํด์ผ ํฉ๋๋ค.
Tarjan์ ์๊ณ ๋ฆฌ์ฆ์ด Kosaraju์ ์๊ณ ๋ฆฌ์ฆ๋ณด๋ค ๋ซ์ต๋๊น?
๋ ๋ค ๋ณดํธ์ ์ผ๋ก ๋ ๋์ ๊ฒ์ ์๋๋๋ค. ๋ ๋ค O(V + E)์์ ์คํ๋ฉ๋๋ค. Tarjan์ ํ๋์ DFS๋ฅผ ์ฌ์ฉํ๊ณ ๋ช ์์ ์ธ ์ ์น๋ฅผ ์ฌ์ฉํ์ง ์์ง๋ง ๋ฎ์ ๋งํฌ ์ํ๋ฅผ ์ ์งํฉ๋๋ค. Kosaraju๋ ๊ฐ๋ ์ ์ผ๋ก ๊ฐ๋จํ ๋ ๊ฐ์ง ํจ์ค๋ฅผ ์ฌ์ฉํ๊ณ ์ผ๋ฐ์ ์ผ๋ก ๋ฐ์ ๋ ๊ทธ๋ํ๋ฅผ ์ ์ฅํฉ๋๋ค. ์ ์ฝ ์กฐ๊ฑด๊ณผ ๊ตฌํ ์ ๋ขฐ์ฑ์ ๊ธฐ์ค์ผ๋ก ์ ํํ์ธ์.
์ฐ์ต์ ๋ฐ๋ณต ๊ฐ๋ฅํ ์์คํ ์ผ๋ก ์ ํ
์ฆ๊ฑฐ ๊ธฐ๋ฐ ์ฐ์ต ๊ณํ์ ์ธ์ฐ๊ณ , ํ์ฉ๋๋ ๊ฒฝ์ฐ ์ฑ ์๊ฐ ์๋ ์ง์์ ์ฌ์ฉํ๊ณ , ๋ํ๊ฐ ์ ์ ํ ๋ ๊ฒํ ํ์ธ์.
์ฐ์ต์ ๋ฐ๋ณต ๊ฐ๋ฅํ ์์คํ ์ผ๋ก ์ ํํ์ธ์.
์์ ๋ง์ ์ฆ๊ฑฐ๋ก ์ค๋นํ๊ณ ๋ ๋ช ํํ ๋งฅ๋ฝ์ผ๋ก ๋ชจ๋ ๋ต๋ณ์ ๊ฒํ ํ์ธ์.
YesToTheOffer๋ฅผ ์๋ํด๋ณด์ธ์