[알고리즘] 분할정복 - Quicksort(빠른정렬)

2022. 4. 13. 18:01· 알고리즘/알고리즘 이론
반응형

💡빠른정렬 

 - 기준점(pivot)을 기준으로 배열을 둘로 쪼갠다

 - 기준점보다 작으면 왼쪽, 크면 오른쪽으로 분리

 - 다시 왼쪽, 오른쪽 배열에서 기준점을 잡고 분리

 - 배열에서 기준점을 제외하고 모든 원소와 비교하므로 점화식은 T(n) = n-1 그 외 정렬이나 합병 과정은 없음

 - 일정 복잡도 계산 X

 

quickwort(){}

partition(){}

 

✔️ 최악의 시간복잡도

 - 이미 오름차순으로 정렬되어 있어 왼쪽 배열은 아무것도 없고 오른쪽에는 정렬된 배열이 남아 무의미하게 계속 기준을 잡고 비교하는 과정을 거치기 때문

 - 

T(n) = T(0) + T(n-1) + n -1 , if n>0

(* n개의 배열을 비교하면서 n-1 비교, 왼쪽은 0, 오른쪽은 다시 n-1개의 배열로 이뤄짐)

      = n(n-1)/2

 

귀납적 증명

 

✔️ 평균 시간복잡도

 

반응형

'알고리즘 > 알고리즘 이론' 카테고리의 다른 글

[알고리즘] 탐욕 알고리즘 (Greedy Algorithm)  (0) 2022.04.14
[알고리즘] 분할 정복 - 행렬의 곱셈, 마스터 정리, 쉬트라쎈  (0) 2022.04.14
[알고리즘] 분할 정복 - 합병 정렬  (0) 2022.04.12
[알고리즘] 분할정복 - 이진검색  (0) 2022.04.12
[알고리즘] 알고리즘과 효율, 차수, 분석  (0) 2022.04.12
'알고리즘/알고리즘 이론' 카테고리의 다른 글
  • [알고리즘] 탐욕 알고리즘 (Greedy Algorithm)
  • [알고리즘] 분할 정복 - 행렬의 곱셈, 마스터 정리, 쉬트라쎈
  • [알고리즘] 분할 정복 - 합병 정렬
  • [알고리즘] 분할정복 - 이진검색
gangmini
gangmini
gangmini
게으른J 의 테크로그
gangmini
전체
오늘
어제
글쓰기방명록관리자
  • 분류 전체보기 (127)
    • 인공지능(AI) & 데이터 분석 (5)
    • Android (91)
      • Coroutine (3)
      • Compose (0)
      • 안드로이드 CS (0)
    • Kotlin (3)
    • Data Structure (0)
    • 알고리즘 (20)
      • 알고리즘 이론 (11)
      • 백준(BOJ) 문제 풀이 (9)
    • Build Tool (2)
    • Git (2)
    • 일본어 (0)
    • 기타(취준, 활동) (0)


인기 글



최근 댓글



최근 글

hELLO · Designed By 정상우.v4.2.2
gangmini
[알고리즘] 분할정복 - Quicksort(빠른정렬)
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.