홍시홍의 프로그래밍

셸 정렬(정의, 구현방법, 장점 및 시간복잡도) 본문

알고리즘

셸 정렬(정의, 구현방법, 장점 및 시간복잡도)

홍시홍 2020. 6. 9. 16:15

셸 정렬 정의

삽입정렬을 활용한 정렬이다

구간을 만들어서 정렬하고 이러한 구간을 합쳐 완성된 정렬을 만드는 방법

 

구현방법

1. 맨처음은 크기/2 구간의 리스트를 만들어 그 리스트를 정렬할 수 있도록한다.

2. 정렬 된 것을 다시 나누기 2 구간으로 만들어 리스트를 정렬한다

3. 크기가 1이 되면 정렬이 종료된 것이다

 

장점

삽입 정렬에 비해 교환 횟수가 적어 빠르다

 

시간 복잡도

n^2이나

평균적으로 n^1.5

 

 

Comments