Notice
Recent Posts
Recent Comments
Link
๊ด€๋ฆฌ ๋ฉ”๋‰ด

๋ชฉ๋ก์ „์ฒด ๊ธ€ (1096)

KoreanFoodie's Study

๋”ฅ๋Ÿฌ๋‹ ํŠœํ† ๋ฆฌ์–ผ 1๊ฐ•, ๋„˜ํŒŒ์ด(Numpy) ๋‹ค๋ฃจ๊ธฐ - ๋ฐ‘๋ฐ”๋‹ฅ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋Š” ๋”ฅ๋Ÿฌ๋‹

ํ•ด๋‹น ํฌ์ŠคํŒ…์€ ํ•œ๋น› ๋ฏธ๋””์–ด์—์„œ ์ถœํŒํ•œ '๋ฐ‘๋ฐ”๋‹ฅ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋Š” ๋”ฅ๋Ÿฌ๋‹'์ด๋ผ๋Š” ๊ต์žฌ์˜ ๋‚ด์šฉ์„ ๋”ฐ๋ผ๊ฐ€๋ฉฐ ๋”ฅ๋Ÿฌ๋‹ ํŠœํ† ๋ฆฌ์–ผ์„ ์ง„ํ–‰ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ด€๋ จ ์ž๋ฃŒ๋Š” ์—ฌ๊ธฐ์—์„œ ์ฐพ๊ฑฐ๋‚˜ ๋‹ค์šด๋กœ๋“œ ๋ฐ›์œผ์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ๊ฐ–์ถ”๊ธฐ ๋จผ์ €, ํŒŒ์ด์ฌ์„ ์„ค์น˜ํ•ด์ฃผ์ž. ํŒŒ์ด์ฌ์„ ์ด์šฉํ•ด ์‹ค์Šต์„ ํ•˜๋Š” ๊ณผ์ •์—์„œ, ์—ฌ๋Ÿฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ํ•„์š”ํ•˜๊ฒŒ ๋˜๋Š”๋ฐ, ์•„๋‚˜์ฝ˜๋‹ค๋ฅผ ์„ค์น˜ํ•˜๋ฉด ์‹ค์Šต์— ํ•„์š”ํ•œ ๋Œ€๋ถ€๋ถ„์˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ๊ฐ™์ด ์„ค์น˜๋˜์–ด ๋งค์šฐ ๊ฐ„ํŽธํ•˜๋‹ค. ์•„๋ž˜ ๋งํฌ์— ๋“ค์–ด๊ฐ€์„œ https://www.anaconda.com/distribution/#download-section Python 3.7 version ์ด๋ผ๊ณ  ์ ํžŒ ๊ณณ์—, ์‚ฌ์–‘์— ๋งž๊ฒŒ 64๋น„ํŠธ ํ˜น์€ 32๋น„ํŠธ๋ฅผ ๋‚ด๋ ค๋ฐ›์•„ ์„ค์น˜๋ฅผ ์ง„ํ–‰ํ•˜๋ฉด ๋œ๋‹ค. ์ด๋ฏธ ํŒŒ์ด์ฌ์ด ์„ค์น˜๋˜์–ด ์žˆ๋‹ค๋ฉด, ์„ค์น˜๋œ ํŒŒ์ด์ฌ์— ๋งž๊ฒŒ 64๋น„ํŠธ, 3..

์šฐ๋ฆฌ๋Š” ํƒ€์ž์˜ ๊ถŒ๋ฆฌ๋ฅผ ๋ถ€์ •ํ•  ๊ถŒ๋ฆฌ๊ฐ€ ์žˆ๋Š”๊ฐ€? <์„œ์šธ๋Œ€ ํ† ๋ก ํ•œ๋งˆ๋‹น>

ํ•™๊ต์—์„œ ์ˆ˜์—…์„ ๋“ฃ๊ณ , ๋ฒ„์Šค๋ฅผ ํƒ„ ํ›„ ๊ด€์•…์‚ฐ์„ ๋‚ด๋ ค๊ฐ€๋˜ ์ค‘, ํ˜„์ˆ˜๋ง‰์— ์“ฐ์ธ ๊ธ€๊ท€ ํ•˜๋‚˜๊ฐ€ ๋ˆˆ์— ๋“ค์–ด์™”๋‹ค. ๊ฑฐ๊ธฐ์—๋Š” ์ด๋ ‡๊ฒŒ ์ ํ˜€์žˆ์—ˆ๋‹ค. โ€œ์šฐ๋ฆฌ๋Š” ํƒ€์ž์˜ ๊ถŒ๋ฆฌ๋ฅผ ๋ถ€์ •ํ•  ๊ถŒ๋ฆฌ๊ฐ€ ์žˆ๋Š”๊ฐ€?โ€ ์—์„œ โ€œ์šฐ๋ฆฌ๋Š” ํƒ€์ž์˜ ๊ถŒ๋ฆฌ๋ฅผ ๋ถ€์ •ํ•  ๊ถŒ๋ฆฌ๊ฐ€ ์žˆ๋Š”๊ฐ€?โ€๋ผ๋Š” ์ฃผ์ œ๋กœ ํ† ๋ก ์„ ์ง„ํ–‰ํ•œ๋‹ค๋Š” ํ™๋ณด์šฉ ํ˜„์ˆ˜๋ง‰์ด์—ˆ๋‹ค. ๋‚˜๋Š” ์ง‘์œผ๋กœ ๋Œ์•„์˜ค๋Š” ๊ธธ์—, ๊ทธ๋ฆฌ๊ณ  ์ž ์‹œ ์˜ํ™”๊ด€์— ๋“ค๋Ÿฌ ๋†“๊ณ  ์˜จ ๋ชจ์ž๋ฅผ ๋ถ„์‹ค๋ฌผ ์„ผํ„ฐ์—์„œ ์ฐพ์•„๋ณด๋Š” ์‹œ๊ฐ„ ๋™์•ˆ์—, ๋˜๋Š” ํšก๋‹จ๋ณด๋„๋ฅผ ๊ฑด๋„ˆ๋ฉฐ, ์ด ์ฃผ์ œ์— ๋Œ€ํ•ด ์ž ๊น ์ƒ๊ฐํ•ด ๋ณด์•˜๋‹ค. ๋‚ด๊ฐ€ ๋‚ด๋ฆฐ ๊ฒฐ๋ก ์€ ์ด๊ฒƒ์ด๋‹ค. ํ˜„์‹ค ์„ธ๊ณ„์—์„œ ํƒ€์ธ์˜ ๊ถŒ๋ฆฌ๋Š” ์ด๋ฏธ (์ผ๋ถ€๋ถ„)๋ถ€์ •๋˜๊ณ  ์žˆ์œผ๋ฉฐ, ๋˜ํ•œ ๋ถ€์ •๋˜์–ด์•ผ๋งŒ ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•œ๋‹ค. ์–ธ๋œป ๋ณด๋ฉด ์ € ๋ฌธ์žฅ์„ ๋ณด๊ณ  ์‚ฌ๋žŒ๋“ค์ด ๊ทน๋‹จ์ ์ด๋ฉฐ ๋ฐ˜์ธ๋ฅœ์ ์ธ ๋ฐœ์–ธ์ด๋ผ๊ณ  ํ•˜๋ฉฐ ์›์ƒ‰์ ์ธ ๋น„๋‚œ์„ ํŽผ์ง€๋„ ๋ชจ๋ฅด๊ฒ ๋‹ค. ํ•˜์ง€๋งŒ ํƒ€์ธ์˜ ๊ถŒ๋ฆฌ๊ฐ€ ..

ํž™ ์ •๋ ฌ(Heap sort) - ํŒŒ์ด์ฌ ์ฝ”๋“œ ๊ตฌํ˜„

Heap sort python code implementation Heap sort ํŒŒ์ด์ฌ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด ๋ณด์ž. ํž™ ์ •๋ ฌ(Heap Sort) ํž™์€ 2์ง„ ํŠธ๋ฆฌ์ธ๋ฐ, Min-heap(์ตœ์†Œ๊ฐ’์ด ๋ฃจํŠธ ๋…ธ๋“œ์— ์žˆ์Œ. ๋ถ€๋ชจ ๋…ธ๋“œ๊ฐ€ ์ž์‹ ๋…ธ๋“œ๋ณด๋‹ค ์ž‘์•„์•ผ ํ•จ.)๊ณผ Max-heap(์ตœ๋Œ€๊ฐ’์ด ๋ฃจํŠธ ๋…ธ๋“œ์— ์žˆ์Œ. ๋ถ€๋ชจ ๋…ธ๋“œ๊ฐ€ ์ž์‹ ๋…ธ๋“œ๋ณด๋‹ค ์ปค์•ผ ํ•จ.) ์œ„ํ‚ค ํ”ผ๋””์•„์˜ ์„ค๋ช…์„ ์ฐธ๊ณ ํ•ด ๋ณด์ž. n๊ฐœ์˜ ๋…ธ๋“œ์— ๋Œ€ํ•œ ์™„์ „ ์ด์ง„ ํŠธ๋ฆฌ๋ฅผ ๊ตฌ์„ฑํ•œ๋‹ค. ์ด๋•Œ ๋ฃจํŠธ ๋…ธ๋“œ๋ถ€ํ„ฐ ๋ถ€๋ชจ๋…ธ๋“œ, ์™ผ์ชฝ ์ž์‹๋…ธ๋“œ, ์˜ค๋ฅธ์ชฝ ์ž์‹๋…ธ๋“œ ์ˆœ์œผ๋กœ ๊ตฌ์„ฑํ•œ๋‹ค. ์ตœ๋Œ€ ํž™์„ ๊ตฌ์„ฑํ•œ๋‹ค. ์ตœ๋Œ€ ํž™์ด๋ž€ ๋ถ€๋ชจ๋…ธ๋“œ๊ฐ€ ์ž์‹๋…ธ๋“œ๋ณด๋‹ค ํฐ ํŠธ๋ฆฌ๋ฅผ ๋งํ•˜๋Š”๋ฐ, ๋‹จ๋ง ๋…ธ๋“œ๋ฅผ ์ž์‹๋…ธ๋“œ๋กœ ๊ฐ€์ง„ ๋ถ€๋ชจ๋…ธ๋“œ๋ถ€ํ„ฐ ๊ตฌ์„ฑํ•˜๋ฉฐ ์•„๋ž˜๋ถ€ํ„ฐ ๋ฃจํŠธ๊นŒ์ง€ ์˜ฌ๋ผ์˜ค๋ฉฐ ์ˆœ์ฐจ์ ์œผ๋กœ ๋งŒ๋“ค์–ด ๊ฐˆ ์ˆ˜ ์žˆ๋‹ค. ๊ฐ€์žฅ ํฐ ์ˆ˜(๋ฃจํŠธ์— ์œ„์น˜)..

Data Structures, Algorithm 2019. 10. 1. 16:42
ํ€ต ์ •๋ ฌ(Quick sort) - ํŒŒ์ด์ฌ ์ฝ”๋“œ ๊ตฌํ˜„

Quick sort python code implementation ํ€ต์†ŒํŠธ(Quicksort)๋ฅผ ํŒŒ์ด์ฌ ์ฝ”๋“œ๋กœ ๊ตฌํ˜„ํ•ด ๋ณด์ž. ํ€ต ์†ŒํŠธ(Quick sort) ํ€ต ์†ŒํŠธ๋Š” ๋ฐฐ์—ด์„ ํŒŒํ‹ฐ์…˜์„ ์ด์šฉํ•ด์„œ ๋ฐ˜์œผ๋กœ ๋‚˜๋ˆ„๊ณ , ๋‹ค์‹œ ์ด์ „ ๋ฐฐ์—ด์„ ๋ฐ˜์œผ๋กœ ๋‚˜๋ˆˆ ๋ฐฉ์‹์„ ์žฌ๊ท€์ ์œผ๋กœ ์ ์šฉํ•œ๋‹ค. ํŒŒํ‹ฐ์…˜์€ ์ผ๋ฐ˜์ ์œผ๋กœ, ์ œ์ผ ๋ ๋ฐฐ์—ด์˜ ์›์†Œ๋ฅผ pivot์œผ๋กœ ์žก๊ณ , ํ•ด๋‹น pivot๊ฐ’๋ณด๋‹ค ์ž‘์€ ๊ฐ’์€ ์™ผ์ชฝ์œผ๋กœ ๋ชฐ์•„ ๋„ฃ๊ณ , ํฐ ๊ฐ’์€ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ๋ชฐ์•„๋„ฃ๋Š”๋‹ค. ์ด ๊ณผ์ •์„ ์žฌ๊ท€์ ์œผ๋กœ ๋ฐ˜๋ณตํ•˜๋ฉด, ๊ฐ ํŒŒํ‹ฐ์…˜๋งˆ๋‹ค O(n) ํƒ€์ž„์ด ๊ฑธ๋ฆฌ๊ณ , ์ด ํŒŒํ‹ฐ์…˜์€ ํ‰๊ท ์ ์œผ๋กœ O(logn) ํƒ€์ž„์ด ๊ฑธ๋ฆฌ๋ฏ€๋กœ, ์ด ์‹œ๊ฐ„์€ O(nlogn)์ด ๊ฑธ๋ฆฌ๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค. ์œ„ํ‚คํ”ผ๋””์•„์˜ ์„ค๋ช…์„ ์ฐธ๊ณ ํ•ด ๋ณด์ž. ํŒŒํ‹ฐ์…˜์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ž‘๋™ํ•œ๋‹ค. ์ˆ˜๋„ ์ฝ”๋“œ๋ฅผ ์‚ดํŽด๋ณด์ž. function par..

Data Structures, Algorithm 2019. 10. 1. 16:24
๋ณ‘ํ•ฉ ์ •๋ ฌ(Merge Sort) - ํŒŒ์ด์ฌ ์ฝ”๋“œ ๊ตฌํ˜„

Merge sort python code implementation merge sort ํŒŒ์ด์ฌ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด ๋ณด์ž. ๋ณ‘ํ•ฉ ์ •๋ ฌ(Merge Sort) ์œ„ํ‚คํ”ผ๋””์•„์˜ ์„ค๋ช…์„ ์ฐธ๊ณ ํ•ด ๋ณด์ž. ๋ณ‘ํ•ฉ ์ •๋ ฌ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ž‘๋™ํ•œ๋‹ค. ๋ฆฌ์ŠคํŠธ์˜ ๊ธธ์ด๊ฐ€ 0 ๋˜๋Š” 1์ด๋ฉด ์ด๋ฏธ ์ •๋ ฌ๋œ ๊ฒƒ์œผ๋กœ ๋ณธ๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š์€ ๊ฒฝ์šฐ์—๋Š” ์ •๋ ฌ๋˜์ง€ ์•Š์€ ๋ฆฌ์ŠคํŠธ๋ฅผ ์ ˆ๋ฐ˜์œผ๋กœ ์ž˜๋ผ ๋น„์Šทํ•œ ํฌ๊ธฐ์˜ ๋‘ ๋ถ€๋ถ„ ๋ฆฌ์ŠคํŠธ๋กœ ๋‚˜๋ˆˆ๋‹ค. ๊ฐ ๋ถ€๋ถ„ ๋ฆฌ์ŠคํŠธ๋ฅผ ์žฌ๊ท€์ ์œผ๋กœ ํ•ฉ๋ณ‘ ์ •๋ ฌ์„ ์ด์šฉํ•ด ์ •๋ ฌํ•œ๋‹ค. ๋‘ ๋ถ€๋ถ„ ๋ฆฌ์ŠคํŠธ๋ฅผ ๋‹ค์‹œ ํ•˜๋‚˜์˜ ์ •๋ ฌ๋œ ๋ฆฌ์ŠคํŠธ๋กœ ํ•ฉ๋ณ‘ํ•œ๋‹ค. ๋ณ‘ํ•ฉ ์ •๋ ฌ์˜ ํ•ต์‹ฌ์€, ๋ฌธ์ œ๋ฅผ ํ‘ธ๋Š” ๋ฐฉ๋ฒ•๋ก ์„ ์‚ฌ์ด์ฆˆ๋ฅผ ๋ฐ˜์œผ๋กœ ์ชผ๊ฐ  ๋…€์„์— ์ ์šฉํ•ด์„œ ์ •๋ ฌ์„ ์™„๋ฃŒํ•œ ํ›„, ์ •๋ ฌ์ด ์™„๋ฃŒ๋œ ๋ฐ˜์ชฝ์งœ๋ฆฌ 2๊ฐœ๋ฅผ ๋‹ค์‹œ ํ•ฉ์นจ์œผ๋กœ์จ ์ •๋ ฌ์„ ๋งˆ์นœ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ์ฆ‰, merge_sortํ•จ์ˆ˜๋Š” 2๊ฐœ์˜ merge..

Data Structures, Algorithm 2019. 9. 19. 17:52
๋ฒ„๋ธ” ์ •๋ ฌ(Bubble Sort) - ํŒŒ์ด์ฌ ์ฝ”๋“œ ๊ตฌํ˜„

Bubble sort python code implementation. ๋ฒ„๋ธ” ์ •๋ ฌ์„ ํŒŒ์ด์ฌ ์ฝ”๋“œ๋กœ ๊ตฌํ˜„ํ•ด ๋ณด์ž. ๋ฒ„๋ธ” ์ •๋ ฌ (Bubble Sort) ์œ„ํ‚คํ”ผ๋””์•„์˜ ์ •์˜๋ฅผ ์ฐธ๊ณ ํ•ด ๋ณด์ž. : ๊ฑฐํ’ˆ ์ •๋ ฌ(Bubble sort)์€ ๋‘ ์ธ์ ‘ํ•œ ์›์†Œ๋ฅผ ๊ฒ€์‚ฌํ•˜์—ฌ ์ •๋ ฌํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. ์‹œ๊ฐ„ ๋ณต์žก๋„๊ฐ€ O(n^2)์œผ๋กœ ์ƒ๋‹นํžˆ ๋Š๋ฆฌ์ง€๋งŒ, ์ฝ”๋“œ๊ฐ€ ๋‹จ์ˆœํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ž์ฃผ ์‚ฌ์šฉ๋œ๋‹ค. ์›์†Œ์˜ ์ด๋™์ด ๊ฑฐํ’ˆ์ด ์ˆ˜๋ฉด์œผ๋กœ ์˜ฌ๋ผ์˜ค๋Š” ๋“ฏํ•œ ๋ชจ์Šต์„ ๋ณด์ด๊ธฐ ๋•Œ๋ฌธ์— ์ง€์–ด์ง„ ์ด๋ฆ„์ด๋‹ค. ์˜ˆ์‹œ๋ฅผ ํ†ตํ•ด ๋ฒ„๋ธ” ์ •๋ ฌ์ด ์–ด๋–ป๊ฒŒ ๋™์ž‘ํ•˜๋Š”์ง€ ์•Œ์•„๋ณด์ž. ๋ฒ„๋ธ” ์ •๋ ฌ์€ ๋งค์šฐ ๋‹จ์ˆœํ•œ๋ฐ, ๊ทธ๋ƒฅ ์ฒ˜์Œ๋ถ€ํ„ฐ 2๊ฐœ์”ฉ ์ง์„ ์ง€์–ด ๊ฐ’์„ ๋น„๊ตํ•œ ํ›„, ์ž‘์€ ๋…€์„์€ ์•ž์œผ๋กœ, ํฐ ๋…€์„์€ ๋’ค๋กœ ๋ณด๋‚ด๋ฉด ๋œ๋‹ค. (55, 07)์€ (07, 55)๋กœ, (55, 78)์€ ๊ทธ๋Œ€๋กœ, (78, 12)๋Š” (12..

Data Structures, Algorithm 2019. 9. 19. 15:59
์‚ฝ์ž… ์ •๋ ฌ(Insertion Sort) - ํŒŒ์ด์ฌ ์ฝ”๋“œ ๊ตฌํ˜„

Insertion sort python code implemetation ์‚ฝ์ž… ์ •๋ ฌ์„ ํŒŒ์ด์ฌ ์ฝ”๋“œ๋กœ ๊ตฌํ˜„ํ•ด ๋ณด์ž. ์‚ฝ์ž… ์ •๋ ฌ (Insertion sort) ์œ„ํ‚คํ”ผ๋””์•„์— ๋‚˜์˜จ ์ •์˜๋ฅผ ์ฐธ๊ณ ํ•ด ๋ณด์ž. ์„ ํƒ ์ •๋ ฌ(้ธๆ“‡ๆ•ดๅˆ—, selection sort)์€ ์ œ์ž๋ฆฌ ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ํ•˜๋‚˜๋กœ, ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ˆœ์„œ๋กœ ์ด๋ฃจ์–ด์ง„๋‹ค. ์ฃผ์–ด์ง„ ๋ฆฌ์ŠคํŠธ ์ค‘์— ์ตœ์†Œ๊ฐ’์„ ์ฐพ๋Š”๋‹ค. ๊ทธ ๊ฐ’์„ ๋งจ ์•ž์— ์œ„์น˜ํ•œ ๊ฐ’๊ณผ ๊ต์ฒดํ•œ๋‹ค(ํŒจ์Šค(pass)). ๋งจ ์ฒ˜์Œ ์œ„์น˜๋ฅผ ๋บ€ ๋‚˜๋จธ์ง€ ๋ฆฌ์ŠคํŠธ๋ฅผ ๊ฐ™์€ ๋ฐฉ๋ฒ•์œผ๋กœ ๊ต์ฒดํ•œ๋‹ค. ๋น„๊ตํ•˜๋Š” ๊ฒƒ์ด ์ƒ์ˆ˜ ์‹œ๊ฐ„์— ์ด๋ฃจ์–ด์ง„๋‹ค๋Š” ๊ฐ€์ • ์•„๋ž˜, n๊ฐœ์˜ ์ฃผ์–ด์ง„ ๋ฆฌ์ŠคํŠธ๋ฅผ ์ด์™€ ๊ฐ™์€ ๋ฐฉ๋ฒ•์œผ๋กœ ์ •๋ ฌํ•˜๋Š” ๋ฐ์—๋Š” ฮ˜(n^2) ๋งŒํผ์˜ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฐ๋‹ค. ์„ ํƒ ์ •๋ ฌ์€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ๋‹จ์ˆœํ•˜๋ฉฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ์ œํ•œ์ ์ธ ๊ฒฝ์šฐ์— ์‚ฌ์šฉ์‹œ ์„ฑ๋Šฅ ์ƒ์˜ ์ด์ ์ด..

Data Structures, Algorithm 2019. 9. 19. 15:51
์„ ํƒ์ •๋ ฌ(Selection Sort) - ํŒŒ์ด์ฌ ์ฝ”๋“œ ๊ตฌํ˜„

selection sort python code ์„ ํƒ์ •๋ ฌ์„ ํŒŒ์ด์ฌ ์ฝ”๋“œ๋กœ ๊ตฌํ˜„ํ•ด ๋ณด์ž. ์„ ํƒ์ •๋ ฌ(Selection sort ๊ธฐ๋ณธ ์„ค๋ช…) ์œ„ํ‚คํ”ผ๋””์•„์— ์žˆ๋Š” ์ •์˜๋ฅผ ์ฐธ๊ณ ํ•ด ๋ณด์ž. ์„ ํƒ ์ •๋ ฌ(้ธๆ“‡ๆ•ดๅˆ—, selection sort)์€ ์ œ์ž๋ฆฌ ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ํ•˜๋‚˜๋กœ, ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ˆœ์„œ๋กœ ์ด๋ฃจ์–ด์ง„๋‹ค. ์ฃผ์–ด์ง„ ๋ฆฌ์ŠคํŠธ ์ค‘์— ์ตœ์†Œ๊ฐ’์„ ์ฐพ๋Š”๋‹ค. ๊ทธ ๊ฐ’์„ ๋งจ ์•ž์— ์œ„์น˜ํ•œ ๊ฐ’๊ณผ ๊ต์ฒดํ•œ๋‹ค(ํŒจ์Šค(pass)). ๋งจ ์ฒ˜์Œ ์œ„์น˜๋ฅผ ๋บ€ ๋‚˜๋จธ์ง€ ๋ฆฌ์ŠคํŠธ๋ฅผ ๊ฐ™์€ ๋ฐฉ๋ฒ•์œผ๋กœ ๊ต์ฒดํ•œ๋‹ค. ๋น„๊ตํ•˜๋Š” ๊ฒƒ์ด ์ƒ์ˆ˜ ์‹œ๊ฐ„์— ์ด๋ฃจ์–ด์ง„๋‹ค๋Š” ๊ฐ€์ • ์•„๋ž˜, n๊ฐœ์˜ ์ฃผ์–ด์ง„ ๋ฆฌ์ŠคํŠธ๋ฅผ ์ด์™€ ๊ฐ™์€ ๋ฐฉ๋ฒ•์œผ๋กœ ์ •๋ ฌํ•˜๋Š” ๋ฐ์—๋Š” ฮ˜(n^2) ๋งŒํผ์˜ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฐ๋‹ค. ์„ ํƒ ์ •๋ ฌ์€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ๋‹จ์ˆœํ•˜๋ฉฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ์ œํ•œ์ ์ธ ๊ฒฝ์šฐ์— ์‚ฌ์šฉ์‹œ ์„ฑ๋Šฅ ์ƒ์˜ ์ด์ ์ด ์žˆ๋‹ค. ๊ทธ๋ฆผ์œผ๋กœ ํ‘œ..

Data Structures, Algorithm 2019. 9. 19. 15:42