정렬7) 쉘 정렬(Shell Sort)
* 쉘 정렬
- 삽입정렬에서 최악의 경우 오래걸리는 문제접을 보완하기 위해 만들어진 정렬
- 기본 원리는 삽입정렬과 같으니, 비교 횟수가 더 적다
* 쉘 정렬 로직
0. 원본 배열

1. 원본 배열을 반으로 나눈 것으로 생각

2. 일정 인덱스 만큼 뛰어 넘고 비교 정렬(같은 색)

- 정렬된 후 배열 상태

3. 반으로 나눠 정렬한 배열을 4로 나눈 것으로 생각

4. 같은 색 끼리 삽입정렬 로직으로 정렬

- 정렬된 후 배열 상태

5. 위 과정과 같이 더 나누고 정렬
* 시간 복잡도
- 나누는 간격 값에 큰 영향 받음
- 최악의 경우: O(n^2)
- 최선의 경우: O(n)
- 일반적인 경우:



댓글
댓글 쓰기