정렬
-
정렬알고리즘/이론 2021. 2. 11. 17:22
본 글은 '이것이 취업을 위한 코딩 테스트다 with 파이썬' 책을 공부하며 기록합니다. 단, iOS를 공부하고 있기 때문에 swift 언어로 코드를 바꿔보고 있습니다. 퀵 정렬(quick sort) 가장 많이 사용되는 알고리즘 데이터의 특성을 파악하기 어렵다면 퀵 정렬이 유리 기준을 설정한 다음 큰 수와 작은 수를 교환한 후 리스트를 반으로 나누는 방식 피벗 사용 : 교환하기 위한 기준 평균 시간 복잡도 $O(NlogN)$ 그러나 최악의 경우 (데이터가 이미 정렬이 되어 있을 경우) O(N^2)이다 일반적 퀵 정렬 코드 var array = [5, 7, 9, 0, 3, 1, 6, 2, 4, 8] func quick_sort(array: inout [Int], start: Int, end: Int) { ..