본문 바로가기

선택정렬2

Insertion Sort (삽입 정렬) / Shell Sort (셸 정렬) Insertion Sort (삽입 정렬) 앞서 본 다른 정렬 알고리즘과 마찬가지로, 삽입 정렬도 '정렬된 부분'과 '정렬되지 않은 부분'으로 나뉘는데, 진행 방향은 왼쪽에서 오른쪽으로 가는 것으로 하자. 다음과 같은 배열이 있다. 인덱스는 0부터 시작한다. 20 35 -15 7 55 1 -22 먼저 0번째 요소는 정렬된 부분으로 가정한다. 하나 밖에 없으니까.주황색은 정렬된 부분, 초록색은 정렬되지 않은 부분이다. 2035 -15 7 55 1 -22 정렬되지 않은 부분의 맨 왼쪽 인덱스(firstUnsortedIndex; 위의 경우 1)에 위치한 요소(newElement; 위의 경우 35)를, 정렬된 부분의 맨 오른쪽 요소(i)부터 왼쪽으로 하나씩 비교한다. 비교하면서 newElement보다 큰 요소가 .. 2018. 3. 6.
Bubble Sort (버블 정렬) / Selection Sort (선택 정렬) Bubble Sort (버블 정렬) visualization의 차이: (오름차순으로 정렬)배열의 요소들을 가로로 놓은 뒤 가장 큰 값부터 오른쪽으로 몰아가는 방식혹은 가장 작은 값을 찾아 왼쪽으로 몰아가는 방식세로로 놓고 가장 작은 값을 밑으로, 큰 값을 위쪽으로 놓는 방식 등 결과는 똑같다. public class Main { public static void main(String[] args) { int[] intArray = { 20, 35, -15, 7, 55, 1, -22 }; // 버블 정렬 for (int lastUnsortedIndex = intArray.length - 1; lastUnsortedIndex > 0; lastUnsortedIndex--) { for (int i = 0; i .. 2018. 3. 5.