๐Ÿงช ์ปดํ“จํ„ฐ๊ณผํ•™ : CS

[Algorithm] ์„ ํƒ ์ •๋ ฌ (Selection Sort)

๊ฐœ๋ฐœ์ž HOON 2022. 9. 3. 14:11

์„ ํƒ ์ •๋ ฌ (Selection Sort)

 ์„ ํƒ ์ •๋ ฌ์€, ๋ฐฐ์—ด์˜ ์ œ์ผ ์•ž์—์„œ๋ถ€ํ„ฐ ํ•ด๋‹น ์ž๋ฆฌ์— ๋“ค์–ด๊ฐˆ ์ˆซ์ž๋ฅผ ์„ ํƒํ•˜๋Š” ์ •๋ ฌ์ด๋‹ค. ๋“ค์–ด๊ฐˆ ์ˆซ์ž๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ๊ฒƒ์€ ๋ฐฐ์—ด ๋‚ด์˜ ๋ชจ๋“  ์š”์†Œ๋ฅผ ๋น„๊ตํ•ด ๊ฐ€์žฅ ์ž‘์€ ๊ฒƒ์„ ์„ ํƒํ•œ๋‹ค. ๋‹ค์Œ loop ๋ถ€ํ„ฐ๋Š” ์ด๋ฏธ ์ž๋ฆฌ๊ฐ€ ๊ฒฐ์ •๋œ ์ˆซ์ž๋Š” ๋น„๊ตํ•˜์ง€ ์•Š๊ณ , ๋‚˜๋จธ์ง€ ์ˆ˜๋“ค ์ค‘์— ๋“ค์–ด๊ฐˆ ๊ฒƒ์„ ์ฐพ๊ธฐ๋ฅผ ๋ฐ˜๋ณตํ•œ๋‹ค.

 

์ฆ‰, 1๋ฒˆ์งธ loop์—์„œ๋Š” ๋ฐฐ์—ด์˜ ์ฒซ ๋ฒˆ์งธ ์ž๋ฆฌ์— ๋“ค์–ด๊ฐˆ ์›์†Œ๋ฅผ n๊ฐœ๋ฅผ ๋ชจ๋‘ ๋น„๊ตํ•ด ์„ ํƒํ•˜๊ณ ,

2๋ฒˆ์งธ loop์—์„œ๋Š” ์ด๋ฏธ ๊ฒฐ์ •๋œ ์ฒซ ๋ฒˆ์งธ ์ž๋ฆฌ์˜ ์ˆซ์ž๋ฅผ ์ œ์™ธํ•œ ๋‚˜๋จธ์ง€ n-1๊ฐœ๋ฅผ ๋น„๊ตํ•ด ๋‘ ๋ฒˆ์งธ ์ž๋ฆฌ์— ๋“ค์–ด๊ฐˆ ์ˆซ์ž๋ฅผ ๊ฒฐ์ •ํ•œ๋‹ค.

3๋ฒˆ์žฌ loop์—์„œ๋Š” ์ด๋ฏธ ๊ฒฐ์ •๋œ 1~2๋ฒˆ์งธ ์ž๋ฆฌ์˜ ์ˆซ์ž๋ฅผ ์ œ์™ธํ•œ ๋‚˜๋จธ์ง€ n-2๊ฐœ๋ฅผ ๋น„๊ตํ•ด ์„ธ ๋ฒˆ์งธ ์ž๋ฆฌ์— ๋“ค์–ด๊ฐˆ ์ˆซ์ž๋ฅผ ๊ฒฐ์ •ํ•˜๊ณ ,

๋ชจ๋“  ์ž๋ฆฌ์— ๋“ค์–ด๊ฐˆ ์ˆซ์ž๊ฐ€ ์ •ํ•ด์งˆ ๋•Œ๊นŒ์ง€ ๋ฐ˜๋ณต๋œ๋‹ค.

 

 

์„ ํƒ ์ •๋ ฌ (์ถœ์ฒ˜ : https://wonjayk.tistory.com/)

 

์œ„ ๊ทธ๋ฆผ์€ ์„ ํƒ ์ •๋ ฌ์„ ๋‚˜ํƒ€๋‚ด๋Š” ๊ทธ๋ฆผ์ด๋‹ค.

์ด ๊ทธ๋ฆผ์—์„œ๋Š” ํ•œ ๋‹จ๊ณ„ = ํ•œ loop๋ผ๊ณ  ๋ณด๋ฉด ์ข‹๋‹ค.

ํ•œ ๋‹จ๊ณ„๋งˆ๋‹ค ์•ž์—์„œ๋ถ€ํ„ฐ ์ž๋ฆฌ์˜ ์ˆซ์ž๊ฐ€ ๊ฒฐ์ •๋˜๋ฉฐ, ๊ฒฐ์ •๋  ์ˆซ์ž๋Š” ๋‚˜๋จธ์ง€ ๋ฐฐ์—ด์—์„œ ๊ฐ€์žฅ ์ž‘์€ ์ˆซ์ž๋ฅผ ์„ ํƒํ•˜๋ฉด ๋œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.

 

์„ ํƒ ์ •๋ ฌ ํŒŒ์ด์ฌ ์ฝ”๋“œ

 

 

์„ ํƒ ์ •๋ ฌ ์ž๋ฐ” ์ฝ”๋“œ

 

 

 

์„ ํƒ ์ •๋ ฌ ์žฅ๋‹จ์ 

 

- ์„ ํƒ์ •๋ ฌ์˜ ์žฅ์ 

๊ฐ„๋‹จํ•œ ๊ตฌํ˜„, ๊ฐœ๋ฐœ ์‹œ๊ฐ„์„ ์ค„์ผ ์ˆ˜ ์žˆ๋‹ค.

 

- ์„ ํƒ์ •๋ ฌ์˜ ๋‹จ์ 

๋ฐ์ดํ„ฐ๋ฅผ ํ•˜๋‚˜์”ฉ ๋น„๊ตํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ข‹์ง€ ์•Š์€ ์‹œ๊ฐ„ ๋ณต์žก๋„๋ฅผ ๊ฐ€์กŒ๋‹ค. (O(n^2))

์ •๋ ฌ๋œ ์ƒํƒœ์—์„œ ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ๊ฐ€ ์‚ฝ์ž…๋˜๋ฉด ์ •๋ ฌ ํšจ์œจ์ด ์ข‹์ง€ ์•Š๋‹ค. (์ •๋ ฌ์ด ๋˜์–ด์žˆ๋”๋ผ๋„, ์ด ์ƒํƒœ๋ฅผ ๊ณ ๋ คํ•˜์ง€ ์•Š๊ณ  ๊ฐ€์žฅ ์ž‘์€ ์›์†Œ๋ฅผ ์ฐพ์œผ๋ ค ๋ชจ์€ ์›์†Œ๋ฅผ ๋น„๊ตํ•  ๊ฒƒ์ด๋ฏ€๋กœ.)