[자료구조] 쉘 정렬(Shell Sort)란 무엇인가 ?
·
컴퓨터 과학/자료구조
1. 쉘 정렬(Shell Sort)의 의미 : 삽입 정렬의 단점을 보완한 정렬. h라는 간격을 설정하여 각 원소들을 그룹화하고 그룹화한 원소들끼리 비교하며 정렬하는 알고리즘 h라는 간격의 크기 선정에 따라 쉘 정렬의 성능이 결정된다. 2. 쉘 정렬의 의사코드(Pseudocode) 입력 : 크기가 n인 배열 A 출력 : 정렬된 배열 A for each gap h = [ h0 > h1 > ... > hk = 1] //큰 간격부터 순서대로 h 설정 for i = h to n-1 CurrentElement = A[i] j = i while(j >= h) and(A[j-h] > CurrentElement){ A[j] = A[j-h] j = j-h } A[j] = CurrentElement } return 배열A ..