2017년 11월 8일 수요일

[알고리즘] Quick Sort (퀵 정렬)

1. 배열 안에서 pivot이 되는 값을 정한다.
2. pivot값보다 작은 값은 왼쪽, pivot값보다 같거나 큰 값은 오른쪽으로 나누어준다. 
3. 나누어진 배열을 가지고 다시 1-2를 실행한다. 이는 나누어진 배열에 요소가 하나 남을 때까지 반복한다.











































































시간복잡도: O(nlogn)

장점:
- O(nlogn)의 복잡도를 가지는 다른 정렬 알고리즘보다 더 빠르게 수행된다.

단점
- 구현 방식이 효율에 크게 영향을 미친다.
- 이미 정렬된 데이터에 대해서 많은 시간이 걸린다.

코드




댓글 없음:

댓글 쓰기