๐ ๊ทธ๋ํ ๐
ํ๋ก๊ทธ๋๋ฐ์์ ๊ทธ๋ํ๋ ํฌ๊ฒ 2๊ฐ์ง๋ก ๋ํ๋ผ ์ ์์.
1. ์ธ์ ํ๋ ฌ : 2์ฐจ์ ๋ฐฐ์ด๋ก ๊ทธ๋ํ๋ฅผ ํํ
2. ์ธ์ ๋ฆฌ์คํธ : ๋ฆฌ์คํธ๋ก ๊ทธ๋ํ๋ฅผ ํํ
#์ธ์ ํ๋ ฌ ๋ฐฉ์
INF = 999999999
graph = [
[0, 7, 5],
[7, 0, INF],
[5, INF, 0]
]
#์ธ์ ๋ฆฌ์คํธ ๋ฐฉ์
graph2 = [[] for i in range(3)]
#๋
ธ๋ 0์ ์ฐ๊ฒฐ๋ ๋
ธ๋์ ๋ณด
graph2[0].append((1, 7))
graph2[0].append((2, 5))
#๋
ธ๋ 1์ ์ฐ๊ฒฐ๋ ๋
ธ๋์ ๋ณด
graph2[1].append((0,7))
#๋
ธ๋ 2..
graph2[2].append((0,5))
๐ DFS ๐
Depth-First-Search, ๊น์ด ์ฐ์ ํ์
๊ทธ๋ํ์์ ๊น์ ๋ถ๋ถ์ ๋จผ์ ํ์ํ๋ค. ๊ทธ๋ํ๋ ๋ ธ๋(=์ ์ , vertex)์ ๊ฐ์ (edge)์ผ๋ก ์ด๋ฃจ์ด์ง.
โก๏ธDFS ๋์๊ณผ์
1. ํ์ ์์ ๋ ธ๋๋ฅผ ์คํ์ ์ฝ์ & ๋ฐฉ๋ฌธ ์ฒ๋ฆฌ
2. ์คํ์ ์ต์๋จ๋ ธ๋์ ๋ฐฉ๋ฌธํ์ง ์์ ์ธ์ ๋ ธ๋๊ฐ ์๋ค๋ฉด ๊ทธ ์ธ์ ๋ ธ๋๋ฅผ ์คํ์ ๋ฃ๊ณ ๋ฐฉ๋ฌธ์ฒ๋ฆฌ.
๋ฐฉ๋ฌธํ์ง ์์ ์ธ์ ๋ ธ๋๊ฐ ์์ผ๋ฉด ์คํ์์ ์ต์๋จ ๋ ธ๋๋ฅผ ๊บผ๋
3. 2๋ฒ๊ณผ์ ์ ๋ ์ด์ ์ํํ ์ ์์ ๋๊น์ง ๋ฐ๋ณต
๐ BFS ๐
Breadth-First-Search, ๋๋น ์ฐ์ ํ์
๊ฐ๊น์ด ๋ ธ๋๋ถํฐ ํ์ํ๋ ์๊ณ ๋ฆฌ์ฆ
โก๏ธBFS ๋์๊ณผ์
1. ํ์ ์์ ๋ ธ๋๋ฅผ ํ์ ์ฝ์ ํ๊ณ ๋ฐฉ๋ฌธ ์ฒ๋ฆฌ
2. ํ์์ ๋ ธ๋๋ฅผ ๊บผ๋ด ํด๋น ๋ ธ๋์ ์ธ์ ๋ ธ๋ ์ค์์ ๋ฐฉ๋ฌธํ์ง ์์ ๋ ธ๋๋ฅผ ๋ชจ๋ ํ์ ์ฝ์ & ๋ฐฉ๋ฌธ์ฒ๋ฆฌ
3. 2๋ฒ ๊ณผ์ ์ ๋์ด์ ์ํํ ์ ์์ ๋๊น์ง ๋ฐ๋ณต
'๐ฅด์๊ณ ๋ฆฌ์ฆ > ์๊ณ ๋ฆฌ์ฆ ์ด๋ก ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์๊ณ ๋ฆฌ์ฆ ์ด๋ก ] ์ ๋ ฌ(์ ํ์ ๋ ฌ, ์ฝ์ ์ ๋ ฌ, ํต์ ๋ ฌ, ๊ณ์์ ๋ ฌ) (2) (0) | 2022.02.28 |
---|---|
[์๊ณ ๋ฆฌ์ฆ ์ด๋ก ] ์ ๋ ฌ(์ ํ์ ๋ ฌ, ์ฝ์ ์ ๋ ฌ, ํต์ ๋ ฌ, ๊ณ์์ ๋ ฌ) (0) | 2022.02.27 |
[์๊ณ ๋ฆฌ์ฆ ์ด๋ก ] DFS, BFS (2) (0) | 2022.02.26 |
[์๊ณ ๋ฆฌ์ฆ ์ด๋ก ] ๊ตฌํ ๋ฌธ์ (0) | 2022.02.24 |
[์๊ณ ๋ฆฌ์ฆ ์ด๋ก ] ๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ Greedy!!! (0) | 2022.02.22 |