quickSort

Quick Sort

ํ€ต ์ •๋ ฌ (Quick Sort)

: ํŠน์ •ํ•œ ๊ฐ’์„ ๊ธฐ์ค€(ํ”ผ๋ฒ—)์œผ๋กœ ํฐ ์ˆซ์ž์™€ ์ž‘์€ ์ˆซ์ž๋ฅผ ์„œ๋ฃŒ ๊ตํ™˜ํ•œ ๋’ค์— ๋ฐฐ์—ด์„ ๋ฐ˜์œผ๋กœ ๋‚˜๋ˆˆ๋‹ค

  • ๋Œ€ํ‘œ์ ์ธ ๋ถ„ํ•  ์ •๋ณต ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ํ‰๊ท  ์†๋„๊ฐ€ O(N*logN)์ด๋‹ค

  • ํ•˜์ง€๋งŒ ํ€ต ์ •๋ ฌ ์ตœ์•… ์‹œ๊ฐ„ ๋ณต์žก๋„๋Š” O(N^2)์ด๋‹ค

์ •๋ ฌ ๋ฐฉ๋ฒ•

ํ€ต ์ •๋ ฌ์€ ๋ถ„ํ•  ์ •๋ณต(divide and conquer) ๋ฐฉ๋ฒ•์„ ํ†ตํ•ด ๋ฆฌ์ŠคํŠธ๋ฅผ ์ •๋ ฌํ•œ๋‹ค. 1. ๋ฆฌ์ŠคํŠธ ๊ฐ€์šด๋ฐ์„œ ํ•˜๋‚˜์˜ ์›์†Œ๋ฅผ ๊ณ ๋ฅธ๋‹ค. ์ด๋ ‡๊ฒŒ ๊ณ ๋ฅธ ์›์†Œ๋ฅผ ํ”ผ๋ฒ—์ด๋ผ๊ณ  ํ•œ๋‹ค. 2. ํ”ผ๋ฒ— ์•ž์—๋Š” ํ”ผ๋ฒ—๋ณด๋‹ค ๊ฐ’์ด ์ž‘์€ ๋ชจ๋“  ์›์†Œ๋“ค์ด ์˜ค๊ณ , ํ”ผ๋ฒ— ๋’ค์—๋Š” ํ”ผ๋ฒ—๋ณด๋‹ค ๊ฐ’์ด ํฐ ๋ชจ๋“  ์›์†Œ๋“ค์ด ์˜ค๋„๋ก ํ”ผ๋ฒ—์„ ๊ธฐ์ค€์œผ๋กœ ๋ฆฌ์ŠคํŠธ๋ฅผ ๋‘˜๋กœ ๋‚˜๋ˆˆ๋‹ค. ์ด๋ ‡๊ฒŒ ๋ฆฌ์ŠคํŠธ๋ฅผ ๋‘˜๋กœ ๋‚˜๋ˆ„๋Š” ๊ฒƒ์„ ๋ถ„ํ• ์ด๋ผ๊ณ  ํ•œ๋‹ค. ๋ถ„ํ• ์„ ๋งˆ์นœ ๋’ค์— ํ”ผ๋ฒ—์€ ๋” ์ด์ƒ ์›€์ง์ด์ง€ ์•Š๋Š”๋‹ค. 3. ๋ถ„ํ• ๋œ ๋‘ ๊ฐœ์˜ ์ž‘์€ ๋ฆฌ์ŠคํŠธ์— ๋Œ€ํ•ด ์žฌ๊ท€(Recursion)์ ์œผ๋กœ ์ด ๊ณผ์ •์„ ๋ฐ˜๋ณตํ•œ๋‹ค. ์žฌ๊ท€๋Š” ๋ฆฌ์ŠคํŠธ์˜ ํฌ๊ธฐ๊ฐ€ 0์ด๋‚˜ 1์ด ๋  ๋•Œ๊นŒ์ง€ ๋ฐ˜๋ณต๋œ๋‹ค. ์žฌ๊ท€ ํ˜ธ์ถœ์ด ํ•œ๋ฒˆ ์ง„ํ–‰๋  ๋•Œ๋งˆ๋‹ค ์ตœ์†Œํ•œ ํ•˜๋‚˜์˜ ์›์†Œ๋Š” ์ตœ์ข…์ ์œผ๋กœ ์œ„์น˜๊ฐ€ ์ •ํ•ด์ง€๋ฏ€๋กœ, ์ด ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๋ฐ˜๋“œ์‹œ ๋๋‚œ๋‹ค๋Š” ๊ฒƒ์„ ๋ณด์žฅํ•  ์ˆ˜ ์žˆ๋‹ค.

QuickSort
  • ํŒŒ์ด์ฌ ๋ฌธ๋ฒ• ์‘์šฉ์œผ๋กœ ๊ตฌํ˜„ํ•œ ํ€ต์ •๋ ฌ

Reference : Wikipedia

Last updated

Was this helpful?