셸 정렬 이란? 1959년 이 방법을 발표한 창안자 도널드 셸의 이름을 따서 붙여진 이름인데, 리스트를 특정 매개변수 값의 길이를 갖는 부파일(subfile)로 쪼개서, 각 부파일에서 삽입 정렬을 수행하는 삽입 정렬의 단점을 보완한 정렬 알고리즘 입니다. 사실, 셸 정렬은 설명만 듣고는 이해가 가질 않았습니다. 쪼개는 것은 알겠는데, 쪼개진 데이터들을 각각 정렬하는 것도 아닌 것이, 쪼개진 간격의 데이터끼리 하나씩 비교를 하는 느낌이었습니다. 이러한 일정한 갭 간격을 설정하고 간격의 데이터끼리 비교 정렬을 합니다. 그 이후, 간격을 줄이고 또 간격의 데이터끼리 비교 정렬을 합니다. 최종적으로 간격이 없는 상태까지 도달했을 때, 삽입 정렬을 통해 마지막으로 정렬을 합니다. 가장 잘 표현된 영상입니다. 이 ..