[Python] 퀵 정렬 알고리즘/ 이것이 코딩테스트다 정렬편
퀵 정렬 "기준을 정하고 기준보다 큰 데이터와 작은 데이터의 위치를 바꾸는 정렬" 우리는 정렬할 배열의 0번째 인덱스를 기준으로 삼을 것이다. 이 기준을 피벗이라고 부른다. 퀵 정렬을 사용하여 리스트 [5,7,9,0,3,1,6,4,8]을 오름차순으로 정리해보도록 하자 (1) 리스트의 왼쪽부터 피벗보다 큰 값을 찾고, 오른쪽부터는 피벗보다 큰 값을 찾은 후, 둘의 위치를 바꿔준다 (2) 다시 왼쪽부터 탐색하여 피벗(5)보다 큰 수(9), 작은 수(3)의 위치를 바꿔주자 (3) 위 과정을 반복하게 되면 작은 수와 큰 수가 엇갈리게 되어 바꿀 수 없는 상황이 온다 !! (4) 이럴 땐 작은 수와 피벗의 위치를 바꾼다 (5) 이렇게 되면 피벗의 왼쪽은 피벗보다 작은 수 오른쪽은 큰 수가 정렬된다. (6) 각각 ..
2023. 1. 30.