Tree๊ตฌ์กฐ์ ๋น์ทํ๊ฒ Node์ edge๋ก ๊ตฌ์ฑ
Graph์์๋ node(์ ์ ) -> vertex, edge(๊ฐ์ ) -> arc์ผ๋ก๋ ์ง์นญ
Graph๋ vertex๊ฐ ์ฌ๋ฌ ๊ฐ์ edge๋ฅผ ๊ฐ์ง ์ ์๋ค.
Tree๋ ์ฌ์ค Graph์ ํน์ํ ํํ
- ํ๋์ ๋ถ๋ชจ ๋ ธ๋์์๋ถํฐ ์๋ ๋ฐฉํฅ์ผ๋ก ๋ด๋ ค์ค๋ Graph. ์ฆ ํธ๋ฆฌ๋ ๋ฃจํธ๊ฐ ์๊ณ , In-degree๊ฐ 1์ธ ๋ฐฉํฅ ๊ทธ๋ํ๋ผ๊ณ ๋งํ ์ ์๋ค.
๊ทธ๋ํ๋ ๋คํธ์ํฌ ๋ชจ๋ธ | ์ํ๋ DFS๋ BFS๋ก ์ด๋ฃจ์ด์ง๋ค.
๋ถ๋ชจ-์์ ๊ด๊ณ๋ผ๋ ๊ฐ๋ ์ด ์๋ค. | 2๊ฐ ์ด์์ ๊ฒฝ๋ก๊ฐ ๊ฐ๋ฅํ๋ค.
๋ฒ์ค๋ ธ์ ๋, ์ง๋, ๊ธธ์ฐพ๊ธฐ, Social Networks ๋ฑ
- ๊ฐ์ ์ ๋ฐฉํฅ์ฑ์ด ์กด์ฌํ๋ ๊ทธ๋ํ
- ๋ฐฉํฅ์ฑ์ด ์๋ ๊ทธ๋ํ๋ก ๊ฐ์ ์ ํตํด์ ์๋ฐฉํฅ์ผ๋ก ๊ฐ ์ ์๋ค.
- ๊ฐ์ ์ ๋น์ฉ์ด๋ ๊ฐ์ค์น๊ฐ ํ ๋น๋ ๊ทธ๋ํ
๊ณ ์๋๋ก ํจ๊ฒ์ดํธ๋น์ฉ?
- ์ฐ๊ฒฐ : ๋ฌด๋ฐฉํฅ ๊ทธ๋ํ์ ์๋ ๋ชจ๋ ์ ์ ์์ ๋ํด์ ํญ์ ๊ฒฝ๋ก๊ฐ ์กด์ฌํ๋ ๊ฒฝ์ฐ
- ์ํ : ๋จ์ ๊ฒฝ๋ก์ ์์ ์ ์ ๊ณผ ์ข
๋ฃ ์ ์ ์ด ๋์ผํ ๊ฒฝ์ฐ
๋จ์๊ฒฝ๋ก : ๊ฒฝ๋ก ์ค์์ ๋ฐ๋ณต๋๋ ์ ์ ์ด ์๋ ๊ฒฝ์ฐ
- ๋น์ํ : ์ํ์ด ์๋ ๊ทธ๋ํ
- ๊ทธ๋ํ์ ์ํด ์๋ ๋ชจ๋ ์ ์ ์ด ์๋ก ์ฐ๊ฒฐ๋์ด ์๋ ๊ทธ๋ํ
๊น์ด ์ฐ์ ํ์(DFS, Depth-First Search)
- ๋ฃจํธ ๋ ธ๋์์ ์์ํด์ ๋ค์ ๋ถ๊ธฐ(branch)๋ก ๋์ด๊ฐ๊ธฐ ์ ์ ํด๋น ๋ถ๊ธฐ๋ฅผ ์๋ฒฝํ๊ฒ ํ์ํ๋ ๋ฐฉ๋ฒ
- ์ฆ, ๋๊ฒ ํ์ํ๊ธฐ ์ ์ ๊น๊ฒ ํ์ํ๋ ๊ฒ์ด๋ค.
- ์ฌ์ฉํ๋ ๊ฒฝ์ฐ : ๋ชจ๋ ๋ ธ๋๋ฅผ ๋ฐฉ๋ฌธ ํ๊ณ ์ ํ๋ ๊ฒฝ์ฐ์ ์ด ๋ฐฉ๋ฒ์ ์ ํ(DFS๊ฐ BFS๋ณด๋ค ๊ฐ๋จ)
DFS ๊ฐ๋ Link
https://gmlwjd9405.github.io/2018/08/14/algorithm-dfs.html
๋๋น ์ฐ์ ํ์(BFS, Breadth-First Search)
- ๋ฃจํธ ๋ ธ๋์์ ์์ํด์ ์ธ์ ํ ๋ ธ๋๋ฅผ ๋จผ์ ํ์ํ๋ ๋ฐฉ๋ฒ
- ๊น๊ฒ ํ์ํ๊ธฐ ์ ์ ๋๊ฒ ํ์ํ๋ ๊ฒ์ด๋ค.
- ์ฌ์ฉํ๋ ๊ฒฝ์ฐ : ๋ ๋ ธ๋ ์ฌ์ด์ ์ต๋จ ๊ฒฝ๋ก ํน์ ์์์ ๊ฒฝ๋ก๋ฅผ ์ฐพ๊ณ ์ถ์ ๋
: ๊น์ด ์ฐ์ ํ์์ ๊ฒฝ์ฐ - ๋ชจ๋ ์น๊ตฌ ๊ด๊ณ๋ฅผ ๋ค ์ดํด๋ณธ๋ค.
: ๋๋น ์ฐ์ ํ์์ ๊ฒฝ์ฐ - Ash์ ๊ฐ๊น์ด ๊ด๊ณ๋ถํฐ ํ์
BFS ๊ฐ๋ Link
https://gmlwjd9405.github.io/2018/08/15/algorithm-bfs.html