๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๐“ก๐“ธ๐“ธ๐“ถ๐Ÿฃ: ๐’œ๐“๐‘”๐‘œ๐“‡๐’พ๐“‰๐’ฝ๐“‚/๐“ก๐Ÿฃ๐Ÿข๐Ÿฃ: ๐’œ๐“๐‘”๐‘œ๐“‡๐’พ๐“‰๐’ฝ๐“‚

[ALPS Study] ํƒ์ƒ‰ -๊ทธ๋ž˜ํ”„์™€ DFS(๊นŠ์ด ์šฐ์„  ํƒ์ƒ‰)(1)

ํƒ์ƒ‰์ด๋ž€? ํŠน์ • ๊ณต๊ฐ„์„ ๋ชจ๋‘ ๋Œ์•„๋ณด๋Š” ํ–‰์œ„ ...

 - ๊นŠ์ด ์šฐ์„  ํƒ์ƒ‰(Depth FIrst Search) 

 - ๋„ˆ๋น„ ์šฐ์„  ํƒ์ƒ‰(Breadth First Search)

+ ํŠธ๋ฆฌ์—์„œ์˜ ์ˆœํšŒ

 

DFS(Depth First Search) :๊นŠ์ด ์šฐ์„  ํƒ์ƒ‰

 -> ํŠน์ • ์ •์ ์—์„œ ์‹œ์ž‘ํ•ด์„œ ๋‹ค์Œ ๋ถ„๊ธฐ๋กœ ๋„˜์–ด๊ฐ€๊ธฐ ์ „์— ํ•ด๋‹น ๋ถ„๊ธฐ๋ฅผ ๋ชจ๋‘ ํƒ์ƒ‰ํ•˜๋Š” ๋ฐฉ์‹.

 

1. ๋ฏธ๋กœ์—์„œ ๊ธธ์„ ์žƒ์—ˆ๋‹ค. ๋ฏธ๋กœ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ๋ชจ๋ฅผ ๋•Œ, ๋ฏธ๋กœ๋ฅผ ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ๋น ์ ธ๋‚˜์˜ฌ ์ˆ˜ ์žˆ์„๊นŒ? 

2. ์นœ๊ตฌ๋“ค๊ณผ ์—ฌํ–‰์„ ๋– ๋‚˜๊ธฐ๋กœ ํ–ˆ๋‹ค. ๊ฐ€๊ณ  ์‹ถ์€ ์žฅ์†Œ๋ฅผ ๋ชจ๋‘ ๋ฐฉ๋ฌธํ•œ๋‹ค ํ•  ๋•Œ ๊ฒฝ๋กœ๋ฅผ ์–ด๋–ป๊ฒŒ ํ‘œํ˜„ ํ•  ๊ฒƒ์ธ๊ฐ€?

3. "๊ทธ๋ž˜ํ”„"๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ์ด๋ฅผ ์–ด๋–ค ์‹์œผ๋กœ ์ฝ”๋“œ์— ์ด์šฉํ•  ์ˆ˜ ์žˆ์„๊นŒ?

 

 

์ฆ‰ ์‰ฝ๊ฒŒ ๋งํ•ด์„œ ํ•œ ๊ธธ์„ ๋”ฐ๋ผ ์ญ‰ ํŒŒ๊ณ ๋“ค๊ณ , ๊ธธ์˜ ๋์„ ๋งŒ๋‚˜๋ฉด ๋‹ค์‹œ ๊ฐˆ๋ฆผ๊ธธ๋กœ ๋˜๋Œ์•„์™€ ๋‹ค๋ฅธ ๊ฐˆ๋ฆผ๊ธธ๋กœ ๋˜ ์ญ‰ ํŒŒ๊ณ ๋“ค๊ณ  ๋˜ ๋˜๋Œ์•„์˜ค๊ณ  ... 

์œ„์˜ ๊ทธ๋ž˜ํ”„๋ฅผ ๊นŠ์ด์šฐ์„ ํƒ์ƒ‰์„ ํ†ตํ•ด ๋Œ์•„๋ณด๋ฉด 1-2-3-4-5-6-7 ์ด ๋  ๊ฒƒ! (์ด ๋•Œ, 7๋ฒˆ ๋…ธ๋“œ์˜ ๊ฒฝ์šฐ๋Š” ์ฝ”๋“œ ์ฒ˜๋ฆฌ ํ•„์š”, ํ•˜์ง€ ์•Š์œผ๋ฉด 4๋ฒˆ ๋…ธ๋“œ์—์„œ 7๋ฒˆ์„ ์ค‘๋ณต์œผ๋กœ ํƒ์ƒ‰ํ•˜๋Š” ์‹ค์ˆ˜๋ฅผ ํ•  ์ˆ˜ ์žˆ์Œ)

 

 

๊ทธ๋ž˜ํ”„

 

* ๊ทธ๋ž˜ํ”„๋ฅผ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์— ์ ์šฉ์‹œํ‚ค๋Š” ๋ฐฉ๋ฒ• : ๋ฐฐ์—ด(์—ฐ๊ฒฐ ์ •๋ณด ๋‹ด์Œ), ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ

 

- Adjacency Matrix(์ธ์ ‘ ํ–‰๋ ฌ)

  adj[i][j] := i์—์„œ j๋กœ ์—ฐ๊ฒฐ๋œ ๊ฐ„์„ ์˜ ์ˆ˜(์ด์ฐจ์› ๋ฐฐ์—ด)

 

  1 2 3 4 5 6 7
1 0 1 0 1 0 0 0
2 1 0 1 0 1 0 0
3 0 1 0 0 0 0 0
4 1 0 0 0 0 1 1
5 0 1 0 0 0 0 0
6 0 0 0 1 0 0 1
7 0 0 0 1 0 1 0

์ฐธ๊ณ ๋กœ ์œ„ ๊ทธ๋ž˜ํ”„๋Š” ๊ฐ„์„ ์˜ ๋ฐฉํ–ฅ์ด ์—†๋Š” ๊ทธ๋ž˜ํ”„์ด๋‹ค. ๋”ฐ๋ผ์„œ x์™€ y๊ฐ€ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋‹ค๋ฉด y์™€ x๋„ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋‹ค. ์ฆ‰, ์ € ํ‘œ๋ฅผ ๋ณด๋ฉด ๋Œ€๊ฐ์„ ์„ ๊ธฐ์ค€์œผ๋กœ ๋Œ€์นญ์˜ ํ˜•ํƒœ๋ฅผ ๋ˆ๋‹ค.

 

- Adjacency List(์ธ์ ‘ ๋ฆฌ์ŠคํŠธ)

 adj[i][j] ์˜ ์›์†Œ := i์™€ ์ธ์ ‘ํ•œ ์ •์ ๋“ค(์ผ์ฐจ์› ๋ฐฐ์—ด)

1| 2 4    
2| 1 3 5
3| 2       
4| 1 6 7
5| 2      
6| 4 7   
7| 4 6   

* ์ •์ ์˜ ๊ฐœ์ˆ˜๊ฐ€ max ์ผ ๋•Œ, ๋ฐฐ์—ด์˜ ํฌ๊ธฐ

 - Matrix : max * max

 - List : ๊ฐ„์„ ์˜ ์ˆ˜*2

--> ์ •์ ์ด ๋งŽ์•„์งˆ ์ˆ˜๋ก ์ด์ฐจ์› ๋ฐฐ์—ด์˜ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์ด ๊ธฐํ•˜๊ธ‰์ˆ˜์ ์œผ๋กœ ๋Š˜์–ด๋‚จ!