๐ ๋ชฉ์ฐจ
์์ฝ
1. ํต ์ ๋ ฌ
1. ํต ์ ๋ ฌ
- ๊ธฐ์ค๊ฐ pivot์ ์ ์ ํ์ฌ ํด๋น ๊ฐ๋ณด๋ค ํฐ ๋ฐ์ดํฐ์ ์์ ๋ฐ์ดํฐ๋ก ๋ถ๋ฅํ๋ ๊ณผ์ ์ ๋ฐ๋ณตํ์ฌ ์ ๋ ฌํ๋ ๋ฐฉ๋ฒ
- ์๊ฐ ๋ณต์ก๋: ํ๊ท O(NlogN) / ์ต์
O(n^2)
2. ํต ์ ๋ ฌ ๊ณผ์
- ํ๋๋ฅผ pivot์ผ๋ก ๋๋ค.
- pivot๋ณด๋ค ์์ ๊ฐ์ low, ํฐ ๊ฐ์ high๋ผ ๋ ๋ค, low๋ฅผ ๊ฐ์ฅ ์ผ์ชฝ์, high๋ฅผ ๊ฐ์ฅ ์ค๋ฅธ์ชฝ์ ๋๋ค.
- low๋ pivot๋ณด๋ค ํฐ ๊ฐ์ด ๋์ฌ ๋๊น์ง 1์ฉ ์ฆ๊ฐ, high๋ pivot๋ณด๋ค ์์ ๊ฐ์ด ๋์ฌ ๋๊น์ง 1์ฉ ๊ฐ์์ํค๋ฉฐ ์ด๋ํ๋ค.
- ๋ ๋ค ๋ฉ์ถ์๋ค๋ฉด
- ๋์ด ์ญ์ ๋์ง ์์๋ค๋ฉด ๊ตํ
- ๋์ด ์ญ์ ๋์๋ค๋ฉด high์ pviot์ ๋๊ณ pivot ๊ธฐ์ค์ผ๋ก ๋ ๋ฐฐ์ด์ ๋๋ค์ 1~4๊ณผ์ ์ ๋ฐ๋ณตํ๋ค.
- C++๋ก ๊ตฌํํ ํต์ ๋ ฌ
2. ๋ฌธ์ ํ์ด๋ณด๊ธฐ