TOP 25 알고리즘 | Quick Sort

발행: (2026년 4월 9일 오전 12:10 GMT+9)
2 분 소요
원문: Dev.to

Source: Dev.to

요약

분할 정복을 기반으로 하는 정렬 알고리즘으로, 피벗으로 사용할 요소를 선택하고 제공된 배열을 선택된 피벗을 중심으로 분할하여 피벗을 정렬된 배열에서 올바른 위치에 배치합니다.

코드

function partition(arr, low, high){
  // Escolha o pivô
  let pivot = arr[high];

  // Índice do menor elemento e indica a posição correta do pivô encontrada até agora
  let i = low - 1;

  // Percorre arr[low..high] e move todos os elementos menores para o lado esquerdo.
  // Elementos de low para i são menores após cada iteração
  for (let j = low; j <= high - 1; j++) {
      if (arr[j] < pivot) {
          i++;
          swap(arr, i, j);
      }
  }

  // Move o pivô após elementos menores e retorna sua posição
  swap(arr, i + 1, high);
  return i + 1;
}

function swap(arr, i, j){
  let temp = arr[i];
  arr[i] = arr[j];
  arr[j] = temp;
}

시간 복잡도

(정보 제공되지 않음)

공간 복잡도

(정보 제공되지 않음)

장점

(정보 제공되지 않음)

단점

  • 안정적이지 않음.
0 조회
Back to Blog

관련 글

더 보기 »

Web Component UI Kit를 만들었습니다.

배경: 나는 어느 날 갑자기 UI kit을 만들기로 결심한 것이 아니다. 내가 만든 대부분의 것들처럼, 이것도 내가 겪은 문제에 대한 해결책으로 시작되었으며, 아무도 사용하지 않을 프로젝트를 위해서였다.