퀵 정렬


퀵 정렬

주어진 배열을 임의의 한 수(피벗)를 기준으로 작은 값은 왼쪽, 큰 값은 오른쪽으로 이동시킨다. 그럼 최소한 이 피벗은 올바른 위치에 있게 된다. 이제 이 피벗을 기준으로 배열을 왼쪽과 오른쪽으로 분할한다. 분할된 배열을 다시 하나의 배열로 보고 이 과정을 반복한다. 분할된 배열의 크기가 1이하가 될 때까지. 즉, 임의의 피벗을 선정하면, 이 피벗은 제외하고 (공간은 제외되지 않는다. 비교 기준으로 low, high pointer에서만 제외다.)1) 분할 : 크기 N인 배열의 left point(low)와 right point(high)에서 각각 피벗과 값을 비교한 후 low와 high를 만족시키는 pointer를 각각 이동시키면서(교환만 발생한다. 둘 다 low 면 정상 포인터..........

퀵 정렬에 대한 요약내용입니다.

자세한 내용은 아래에 원문링크를 확인해주시기 바랍니다.



원문링크 : 퀵 정렬