Skip to main content

정렬 알고리즘, 버블정렬, 삽입정렬, 퀵정렬

· 2 min read

정렬 알고리즘 개념

  • 데이터를 특정 기준에 따라 순서대로 나열하는 기법
  • 검색 효율성 향상, 데이터 중복 관리, 알고리즘 성능 향상, 데이터 분석 및 시각화

버블정렬, 삽입정렬, 퀵정렬 개념

버블정렬 개념

구분내용
개념도2 <-4-> 3 5
개념두 인접요소를 비교하고 필요시 치환
시간복잡도평균 O(n2)O(n^2), 최상 O(n)O(n)

삽입정렬 개념

구분내용
개념도2->4 3 5
개념리스트 요소를 하나씩 탐색하여 비교 후 올바른 위치에 삽입
시간복잡도평균 O(n2)O(n^2), 최상 O(n)O(n)

퀵정렬 개념

구분내용
개념도2 <-4 pivot-> 3 5
개념피벗을 기준으로 리스트를 분할 후 각각 정렬한 뒤 결합
시간복잡도최악 O(n2)O(n^2), 평균 O(nlogn)O(nlogn)

버블정렬, 삽입정렬, 퀵정렬 비교

구분버블정렬삽입정렬퀵정렬
시간복잡도O(n2)O(n^2)O(n2)O(n^2)O(nlogn)O(nlogn)
공간복잡도O(1)O(1)O(1)O(1)O(logn)O(logn)
안정성안정적안정적불안정
구현난이도쉬움쉬움어려움
사용사례소량 데이터거의 정렬된 소량 데이터대량 데이터

정렬 알고리즘 고려사항

  • 어셈블리로 컴파일 후 AI를 활용하여 기계어의 병렬성을 최적화, 추가 정렬 성능 확보