[자료구조/알고리즘] 쉘 정렬(Shell Sort)에 대해서
* 관련 기술 스택이 없습니다

• 쉘 정렬은 삽입 정렬을 개선한 정렬 알고리즘으로, 먼 거리의 요소들을 먼저 정렬하여 배열을 부분적으로 정렬한 후, 점진적으로 더 작은 간격을 사용하여 정렬을 수행합니다.
• 쉘 정렬은 일정한 간격으로 배열을 나누어 각 부분 배열에 대해 삽입 정렬을 수행하며, 간격을 점차 줄여가며 정렬을 반복합니다. 이를 통해 삽입 정렬의 단점인 작은 값들이 배열의 끝으로 이동하는 것을 개선합니다.
• 쉘 정렬의 시간 복잡도는 산술적으로 O(log2n * n^2)로 나타내지만, 실제로는 O(n * log2n)에 가깝게 나타납니다. 이는 간격에 따라 삽입 정렬을 수행하며, 정렬되어 있는 데이터에 대해서는 삽입 정렬의 효율성을 누릴 수 있기 때문입니다.
• 따라서 쉘 정렬은 평균적인 시간 복잡도가 O(n * log2n)으로, 일반적인 O(n^2) 정렬 알고리즘보다 훨씬 빠른 속도로 정렬을 수행할 수 있습니다.

북마크
공유하기
신고하기