๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
  • ์žฅ์›์ต ๊ธฐ์ˆ ๋ธ”๋กœ๊ทธ
๐ŸŽ› Others.../- ์ž๋ฃŒ๊ตฌ์กฐ & ์•Œ๊ณ ๋ฆฌ์ฆ˜

[์ž๋ฃŒ ๊ตฌ์กฐ] Java๋กœ ๊ทธ๋ž˜ํ”„ ๊ตฌํ˜„ํ•˜๊ธฐ :: ์ธ์ ‘ ํ–‰๋ ฌ๋กœ ๊ตฌํ˜„ํ•œ ๊ทธ๋ž˜ํ”„

by Wonit 2020. 7. 21.

์šฐ๋ฆฌ๋Š” ์ง€๋‚œ ์‹œ๊ฐ„์— ๊ทธ๋ž˜ํ”„์— ๋Œ€ํ•ด์„œ ํ•™์Šตํ•˜์˜€๋‹ค.

 

์ด๋ฒˆ์—๋Š” ์ด๋ก ์ ์ธ ๊ทธ๋ž˜ํ”„๋ฅผ ์ง์ ‘ Java๋ฅผ ์ด์šฉํ•˜์—ฌ ์ฝ”๋“œ๋กœ ์˜ฎ๊ฒจ ๋ณด๋Š” ํ•™์Šต์„ ํ•ด๋ณผ ์˜ˆ์ •์ด๋‹ค.

 

์ด์™€ ๊ฐ™์€ ๋…ธ๋“œ๋ฅผ ๊ฐ–๊ณ  ์žˆ๋Š” ๊ทธ๋ž˜ํ”„๊ฐ€ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ด๋ณด์ž.

 

์ง€๋‚œ ๋ฒˆ์—๋„ ๋ง ํ–ˆ๋“ฏ์ด ๊ทธ๋ž˜ํ”„๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•์—๋Š” ๋‘ ๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค.

 

  1. ์ธ์ ‘ ํ–‰๋ ฌ
  2. ์ธ์ ‘ ๋ฆฌ์ŠคํŠธ

์˜ค๋Š˜์€ ์ธ์ ‘ ํ–‰๋ ฌ๋กœ ๊ทธ๋ž˜ํ”„๋ฅผ ๊ตฌํ˜„ํ•ด๋ณผ ๊ฒƒ์ด๋‹ค.

์ธ์ ‘ ํ–‰๋ ฌ

์ธ์ ‘ ํ–‰๋ ฌ(adjacency matrix)์ด๋ž€ ์€ ๊ทธ๋ž˜ํ”„์—์„œ ์–ด๋Š ๊ผญ์ง“์ ๋“ค์ด ๋ณ€์œผ๋กœ ์—ฐ๊ฒฐ๋˜์—ˆ๋Š”์ง€ ๋‚˜ํƒ€๋‚ด๋Š” ์ •์‚ฌ๊ฐ ํ–‰๋ ฌ์ด๋‹ค.

์ถœ์ฒ˜ : ์œ„ํ‚ค ๋ฐฑ๊ณผ

์œ„ํ‚ค ๋ฐฑ๊ณผ์—์„œ๋Š” ์ธ์ ‘ ํ–‰๋ ฌ์— ๋Œ€ํ•œ ์˜ˆ๋กœ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ทธ๋ฆผ์„ ๋ณด์—ฌ์ค€๋‹ค.

 

์ด ๊ทธ๋ฆผ์„ ๋ถ„์„ํ•ด๋ณด์ž๋ฉด 1๋ฒˆ ๋…ธ๋“œ๋ถ€ํ„ฐ 6๋ฒˆ ๋…ธ๋“œ๊นŒ์ง€ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋Š” ๋…ธ๋“œ์— 1์„ ๋„ฃ๋Š” ๊ฒƒ์ด๋‹ค.

 

๊ทธ๋Ÿผ ์•„๊นŒ ๊ทธ๋ ธ๋˜ ๊ทธ๋ž˜ํ”„๋ฅผ ํ•œ ๋ฒˆ ์ธ์ ‘ ํ–‰๋ ฌ๋กœ ์˜ฎ๊ฒจ ๋ณด์ž.

 

์œ„์™€ ๊ฐ™์€ ์ƒํƒœ๋กœ ๋…ธ๋“œ๊ฐ€ 6๊ฐœ์ด๋ฏ€๋กœ 6x6 ํ‘œ๋ฅผ ์ค€๋น„ํ•œ๋‹ค.

 

๊ทธ๋ฆฌ๊ณ  ๋…ธ๋“œ์™€ ๋…ธ๋“œ๊ฐ€ ์„œ๋กœ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋Š” ์ƒํƒœ๋ฅผ 1 ์—ฐ๊ฒฐ๋˜์–ด ์žˆ์ง€ ์•Š์€ ์ƒํƒœ๋ฅผ 0์œผ๋กœ ํ–‰๋ ฌ์„ ์ฑ„์›Œ๋ณด์ž.

 

์ด๋ ‡๊ฒŒ ํ–‰๋ ฌ์„ ์ฑ„์šฐ๋ฉด ์ธ์ ‘ ํ–‰๋ ฌ์„ ๊ทธ๋ฆฌ๋Š” ๊ฒƒ์€ ๋!

 

๋งŒ์•ฝ ๊ฐ„์„ ์— ๊ฐ€์ค‘์น˜๊ฐ€ ์žˆ๋‹ค๋ฉด 1์ด ์•„๋‹Œ ๊ฐ€์ค‘์น˜๋ฅผ ๊ทธ๋ฆฌ๋ฉด ๋˜๋Š” ๊ฒƒ์ด๋‹ค.

 

์†Œ์Šค ์ฝ”๋“œ๋กœ ์˜ฎ๊ฒจ๋ณด์ž.

 

์ด์ œ ์œ„์—์„œ ๊ทธ๋ฆฐ ๊ทธ๋ž˜ํ”„๋ฅผ ํ–‰๋ ฌ๋กœ ๋ณ€ํ™˜์‹œ์ผœ์ฃผ๋Š” ๊ทธ๋ž˜ํ”„๋ฅผ ๊ทธ๋ ค๋ณด์ž.

 

ํŠน์ง•

๊ทธ๋ž˜ํ”„๋ฅผ ์ธ์ ‘ ํ–‰๋ ฌ๋กœ ๊ตฌํ˜„ํ–ˆ์„ ๋•Œ ์žฅ์ ์ด ์žˆ๊ณ , ๋‹จ์ ์ด ์žˆ๋‹ค. ์šฐ๋ฆฌ๊ฐ€ v1๊ณผ v2์— ๋Œ€ํ•ด์„œ ๊ฒ€์ƒ‰์„ ํ•  ๋•Œ๋Š” ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ๋กœ ๊ตฌํ˜„ํ–ˆ์„ ๋•Œ์™€ ๋‹ค๋ฅด๊ฒŒ ํ•œ ๋ฒˆ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์ด ์žˆ๋‹ค.

 

  ํŠน์ง• ๊ณต๊ฐ„ ๋ณต์žก๋„
์ธ์ ‘ ํ–‰๋ ฌ ํŠน์ • ์ ์ ์— ํ•œ ๋ฒˆ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋‹ค. v๋ผ๋Š” ๊ฐ„์„ ์˜ ์ˆ˜๊ฐ€ ์žˆ์„ ๋•Œ O(V^2)

๋Œ“๊ธ€