모두의 알고리즘 문제 11. 퀵 정렬
퀵 정렬은 '피벗(pivot)'이라는 기준을 하나 선정하고 피벗보다 큰 리스트, 피벗보다 작은 리스트로 리스트를 나누어 정렬하고 다시 합하는 정렬 방식이다. 쉽게 설명한 퀵 정렬 알고리즘은 아래와 같다 def quick_sort(a): n = len(a) if n > [1, 2, 3, 4, 5] 가 된다. 그리고 이번 정렬에서도 재귀함수가 쓰였는데 동작 방식은 다음과 같다. 1. 리스트a = [6, 8, 3, 9, 10, 1, 2, 4, 7, 5]일 때 피벗은 리스트의 마지막 원소로 정한다고 가정한다. 2. 리스트 a는 피벗=5를 기준으로 피벗보다 크고 작은 리스트 두개로 나뉜다. [3, 1, 2, 4], 5, [6, 8, 9, 10, 7] 3. [3, 1, 2, 4]는 마지막 원소를 피벗으로 삼는다. ..