quicksort 1

[์•Œ๊ณ ๋ฆฌ์ฆ˜] ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜ - QuickSort(ํ€ต ์ •๋ ฌ)

์ฑ… [ํŒŒ์ด์ฌ์œผ๋กœ ์‰ฝ๊ฒŒ ํ’€์–ด์“ด ์ž๋ฃŒ๊ตฌ์กฐ; ์ตœ์˜๊ทœ, ์ฒœ์ธ๊ตญ ์ง€์Œ]์„ ์ฐธ๊ณ ํ•˜์—ฌ ์ž‘์„ฑํ•˜์˜€์Šต๋‹ˆ๋‹ค.  QuickSort; ํ€ต ์ •๋ ฌํ‰๊ท ์ ์œผ๋กœ ๋งค์šฐ ๋น ๋ฅธ ์ˆ˜ํ–‰ ์†๋„๋ณ‘ํ•ฉ ์ •๋ ฌ๊ณผ ๊ฐ™์ด ๋ถ„ํ• -์ •๋ณต๋ฒ• ์‚ฌ์šฉํ•˜์ง€๋งŒ ๋ณ‘ํ•ฉ ์ •๋ ฌ๊ณผ๋Š” ๋‹ค๋ฅด๊ฒŒ ๊ท ๋“ฑ ๋ถ„ํ• ํ•  ํ•„์š” ์—†๋‹ค๋ฆฌ์ŠคํŠธ ์•ˆ์˜ ํ•œ ์š”์†Œ๋ฅผ ํ”ผ๋ฒ—(pivot), ์ฆ‰ ๊ธฐ์ค€์ ์œผ๋กœ ์‚ผ๊ณ  ์ด ๊ฐ’์„ ๊ธฐ์ค€์œผ๋กœ ์ž‘์€ ์ˆซ์ž๋Š” ์™ผ์ชฝ์œผ๋กœ, ํฐ ์ˆซ์ž๋Š” ์˜ค๋ฅธ์ชฝ์œผ๋กœ ์˜ฎ๊ธด๋‹ค(์˜ค๋ฆ„์ฐจ์ˆœ์ผ ๊ฒฝ์šฐ)๊ทธ๋Ÿฐ ๋‹ค์Œ ์ˆœํ™˜ ํ˜ธ์ถœํ•˜์—ฌ ๋ถ€๋ถ„ ๋ฆฌ์ŠคํŠธ๋“ค์„ ์ •๋ ฌํ•œ๋‹ค๋ถˆ์•ˆ์ •์ •๋ ฌ, ๋ณ„๋„์˜ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„ ํ•„์š”ํ•˜์ง€ ์•Š๋Š”๋‹คcf. ์•ˆ์ •์„ฑ: ์ž…๋ ฅ ๋ฐ์ดํ„ฐ์— ๋™์ผํ•œ ํ‚ท๊ฐ’์„ ๊ฐ–๋Š” ๋ ˆ์ฝ”๋“œ๊ฐ€ ์—ฌ๋Ÿฌ ๊ฐœ ์กด์žฌํ•  ๊ฒฝ์šฐ ์ •๋ ฌ ํ›„์—๋„ ์ด๋“ค์˜ ์ƒ๋Œ€์ ์ธ ์œ„์น˜๊ฐ€ ๋ฐ”๋€Œ์ง€ ์•Š๋Š” ๊ฒƒ- ์‹œ๊ฐ„ ๋ณต์žก๋„์ตœ์„ ์˜ ๊ฒฝ์šฐ: ๋ฆฌ์ŠคํŠธ ๋ถ„ํ• ์ด ๊ฐ€์šด๋ฐ์—์„œ ์ด๋ฃจ์–ด์ ธ k๋ฒˆ(log_2 n)์˜ ๋ถ„ํ•  * ํ‰๊ท  n๋ฒˆ์˜..