Algorithm/Study
2021. 9. 8.
정렬 알고리즘 : 퀵 정렬 (Python)
퀵 정렬 개념 '기준 데이터를 설정하고 그 기준보다 큰 데이터와 작은 데이터의 위치를 바꾼다.' 퀵 정렬은 기준(피벗)을 설정한 다음 큰 수와 작은 수를 교환한 후 리스트를 반으로 나누는 방식으로 동작한다. 피벗을 고르는 기준은 가장 대표적으로 호어 분할(리스트에서 첫 번쨰 데이터를 피벗으로 정한다.)이 있다. 피벗을 설정한 뒤에는 왼쪽에서부터 피벗보다 큰 데이터를 찾고, 오른쪽에서부터 피벗보다 작은 데이터를 찾는다. 그다음 큰 데이터와 자긍ㄴ 데이터의 위치를 서로 교환해준다. 1) 로직 : 분할 - 정복 - 결합 2) 상세 로직 소스 코드 array = [7, 5, 9, 0, 3, 1, 6, 2, 4, 8] def quick_sort(array): # 리스트가 하나 이하의 원소만을 담고 있다면 종료 i..