본문 바로가기

자료구조 (Data Structures)/정렬, Sorting

[Sorting] 퀵 정렬, Quick Sort

https://github.com/cuttingworms/Data-Structures-with-Python

 

GitHub - cuttingworms/Data-Structures-with-Python

Contribute to cuttingworms/Data-Structures-with-Python development by creating an account on GitHub.

github.com

- 퀵 정렬 (Quick Sort)

  • 입력의 맨 왼쪽 원소 혹은 맨 오른쪽 원소(피벗, Pivot)를 기준으로 피벗보다 작은 원소들과 큰 원소들을 각각 피벗의 좌우로 분할한 후, 피벗보다 작은 부분과 피벗보다 큰 부분을 각각 재귀적으로 정렬하는 알고리즘

Quick Sort, 출처 위키피디아

- 수행 시간

  • 최선 경우가 O(nlog(n)), 평균 경우가 O(nlog(n)), 최악 경우가 O(n^2)

최선 경우 : 피벗이 항상 중위값을 갖는 경우
최악 경우 : 피벗이 항상 최솟값 혹은 최댓값을 갖는 경우 

 

Quicksort - Wikipedia

From Wikipedia, the free encyclopedia Jump to navigation Jump to search Divide and conquer sorting algorithm Quicksort is an in-place sorting algorithm. Developed by British computer scientist Tony Hoare in 1959[1] and published in 1961,[2] it is still a c

en.wikipedia.org

평균 경우의 시간 복잡도를 확률적으로 분석한 것