- 정렬 알고리즘 시간 복잡도

알고리즘

최선

평균

최악

삽입 정렬

 

 

선택 정렬

 

 

 

버블 정렬

 

 

 

셸 정렬

 

 

 

퀵 정렬

 

 

 

힙 정렬

 

 

 

합병 정렬 

 

 

 

기수 정렬 

 

 

 


- 정렬 알고리즘별 실험 결과

알고리즘

실행시간 (단위 : 초) 

삽입 정렬

7.438 

선택 정렬

10.842

버블 정렬

22.894

쉘 정렬

0.056

힙 정렬

0.034

합병 정렬

0.026

퀵 정렬

0.014



- 정렬 알고리즘별 안정성, 추가 메모리 필요 여부


알고리즘

안정성

추가 메모리 필요 

삽입 정렬

O

선택 정렬

X

X

버블 정렬

X

쉘 정렬

X

X

힙 정렬

X

X

합병 정렬

O

퀵 정렬

X

X

기수 정렬

O

O

- 안정성 있는 정렬 : 같은 값을 가진 데이터의 순서가 정렬 후에도 바뀌지 않고 그대로 유지하는 정렬

출처: 
http://wonjayk.tistory.com/225

'Algorithm' 카테고리의 다른 글

알고리즘 - 너비 우선 탐색  (0) 2015.11.13
알고리즘 - 깊이 우선 탐색  (0) 2015.11.13
알고리즘 - 기수 정렬  (0) 2015.11.12
알고리즘 - 힙 정렬  (0) 2015.11.12
알고리즘 - 퀵 정렬  (0) 2015.11.12

- radix sort

- 기수(radix)는 숫자의 자릿수, 숫자의 버켓(bucket)은 10개, 알파뱃의 버켓은 26개

이라는 이론적인 하한선을 깰 수 있는 유일한 기법

- 시간복잡도 : O(dn)

- But, 추가적인 메모리 필요하고, 레코드의 타입이 한정 (동일한 길이를 가지는 숫자나 문자열로 구성)

'Algorithm' 카테고리의 다른 글

알고리즘 - 깊이 우선 탐색  (0) 2015.11.13
알고리즘 - 정렬 알고리즘 비교  (2) 2015.11.12
알고리즘 - 힙 정렬  (0) 2015.11.12
알고리즘 - 퀵 정렬  (0) 2015.11.12
알고리즘 - 합병 정렬  (0) 2015.11.12

- 배열을 힙으로 변환 (삽입에 , n개 삽입)

- 루트에서 하나씩 추출 (삭제에 
n개 삭제)

- 시간 복잡도: 


'Algorithm' 카테고리의 다른 글

알고리즘 - 정렬 알고리즘 비교  (2) 2015.11.12
알고리즘 - 기수 정렬  (0) 2015.11.12
알고리즘 - 퀵 정렬  (0) 2015.11.12
알고리즘 - 합병 정렬  (0) 2015.11.12
알고리즘 - 셸 정렬  (0) 2015.11.12

+ Recent posts