쉘 정렬 c++
-
[정렬알고리즘] Shell Sort 쉘 정렬Algorithm 2022. 11. 14. 10:49
대표적인 5가지 정렬 알고리즘을 직접 구현하고, 데이터 크기에 따른 성능을 비교하고 분석. 알고리즘의 동작에 대한 분석 및 구현 코드의 설명. Shell Sort _ 쉘 정렬 원래의 데이터를 여러 개로 분리하고, 분리된 데이터에서 삽입 정렬 하여 정렬 쉘 정렬은 삽입 정렬을 이용하여 여러 개의 서브 시퀀스로 나누어 각각 삽입 정렬을 반복하여 정렬하는 알고리즘이다. 이때 k 값을 줄여가며 여러 서브 시퀀스로 나누는데, 이 서브 시퀀스는 일정한 k 간격만큼 떨어진 원소들만 포함하여 만든다. 이때 k 값은 여러가지로 정할 수 있지만, 홀수 와 짝수가 번갈아 가면서 나오는, 증가 시에는 3*k+1, 감소 시에는 3/ k 로 감소 하는 k 값을 사용하는 것이 일반적이다. 이렇게 서브 시퀀스로 나누는 이유는 서로 ..