๊ด€๋ฆฌ ๋ฉ”๋‰ด

๋ชฉ๋กQuick Sort (1)

๐˜š๐˜ญ๐˜ฐ๐˜ธ ๐˜ฃ๐˜ถ๐˜ต ๐˜ด๐˜ต๐˜ฆ๐˜ข๐˜ฅ๐˜บ

[์•Œ๊ณ ๋ฆฌ์ฆ˜] ์ •๋ ฌ - 2. ํ€ต ์ •๋ ฌ(Quick Sort)

2. ํ€ต ์ •๋ ฌ ; Quick Sort 2.1 ๊ฐœ๋… ๋ถ„ํ•  ์ •๋ณต ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ด์šฉํ•œ ์ •๋ ฌ ๋ฐฉ๋ฒ• ์ค‘ ํ•˜๋‚˜๋กœ, ๋ณ‘ํ•ฉ ์ •๋ ฌ๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์ „์ฒด ์ง‘ํ•ฉ์„ ์ž‘์€ ํฌ๊ธฐ์˜ ๋ถ€๋ถ„์ง‘ํ•ฉ์œผ๋กœ ๋‚˜๋ˆ„์–ด ์ •๋ ฌ์„ ์ˆ˜ํ–‰ํ•œ ๋’ค ๋‹ค์‹œ ํ•ฉ์น˜๋Š” ์ •๋ ฌ ๋ฐฉ๋ฒ•์„ ์˜๋ฏธํ•œ๋‹ค. ๋ณ‘ํ•ฉ ์ •๋ ฌ์˜ ํ•ต์‹ฌ ์—ฐ์‚ฐ์€ ๋ณ‘ํ•ฉ์ธ ๋ฐ ๋น„ํ•ด ํ€ต ์ •๋ ฌ์˜ ํ•ต์‹ฌ ์—ฐ์‚ฐ์€ ๋ถ„ํ• ์ด๋‹ค. ํ€ต ์ •๋ ฌ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋‹จ๊ณ„๋กœ ์ง„ํ–‰๋œ๋‹ค. 1. ๋ถ„ํ• (Divide) : ์ •๋ ฌํ•  ์ง‘ํ•ฉ์„ ๊ธฐ์ค€๊ฐ’์„ ์ค‘์‹ฌ์œผ๋กœ ๋‘ ๋ถ€๋ถ„์ง‘ํ•ฉ์œผ๋กœ ๋ถ„ํ•  2. ์ •๋ณต(Conquer) : ๋ถ€๋ถ„์ง‘ํ•ฉ ๋‚ด์—์„œ ๊ธฐ์ค€๊ฐ’์˜ ์ •๋ ฌ ์œ„์น˜ ์„ ์ • ์ด ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ์ค€๊ฐ’์„ ํ”ผ๋ด‡(Pivot) ์ด๋ผ๊ณ  ํ•˜๋Š”๋ฐ, ์ฒซ ๋ฒˆ์งธ ์›์†Œ / ๋งˆ์ง€๋ง‰ ์›์†Œ / ๊ฐ€์šด๋ฐ ์›์†Œ ๋“ฑ ์ž„์˜์˜ ์ˆœ์„œ์˜ ๊ฐ’์„ ์ •ํ•˜๋ฉด ๋œ๋‹ค. ์ด๋ ‡๊ฒŒ ์ •ํ•œ ๊ธฐ์ค€๊ฐ’์„ ์ค‘์‹ฌ์œผ๋กœ ์™ผ์ชฝ(L)๊ณผ ์˜ค๋ฅธ์ชฝ(R) ๋ถ€๋ถ„์ง‘ํ•ฉ์œผ๋กœ ๋‚˜๋ˆ„์–ด ..