셀 정렬(Shell Sort) 알고리즘

알고리즘/정렬 알고리즘

2020. 11. 16.

셀 정렬(Shell Sort) 알고리즘이란?

삽입 정렬 알고리즘의 느린 속도를 보완하기 위해 만들어진 알고리즘.

데이터의 그룹을 나누어, 그룹 안에서 쉘 정렬을 수행하고 마지막에 삽입 정렬을 수행하는 알고리즘.

 

사용 방법 (오름차순 정렬이라고 가정)

1. 정렬할 데이터를 2개의 무리로 분할하고, 각 무리의 처음 값을 비교하여 작은 것이 앞으로 가도록 한다.

두 번째, 세 번째, ..., 마지막 수까지 비교한다.

2. 수정된 데이터를 대상으로 다시 3개의 무리로 분할하고 똑같은 작업을 수행한다.

3. 한 무리가 1개의 데이터로 구성될 때까지 진행한다. 그리고 인접한 무리와 수를 비교한다.

4. 전체 데이터를 대상으로 삽입 정렬을 수행한다.