| r3 ➤ r4 |
| 10 | ====의사 코드 1(간이화)==== |
| 19 | ====의사 코드 2==== |
| 39 | ====의사 코드 1(간이화)==== |
| 49 | ===삽입 정렬(Insertion=의사 코드==== |
| 50 | 이미 정렬이 완료된 상태이면 작업을 종료한다. |
| 51 | {{{#!syntax java |
| 52 | bubbleSort(A[], n): |
| 53 | sorted ← FALSE |
| 54 | for last ← n-1 downto 1 |
| 55 | sorted ← TRUE |
| 56 | for i ← 0 to last-1 |
| 57 | if (A[i] > A[i+1]) |
| 58 | A[i] ↔ A[i+1] |
| 59 | sorted ← FALSE |
| 60 | if (sorted) return |
| 61 | }}} |
| 62 | ====분석==== |
| 63 | ===삽입 정렬(Insertion Sort)=== |
| 64 | 이미 정렬된 부분 데이터에 새로운 데이터를 하나씩 비교하며 올바른 위치에 '삽입'하여 정렬을 완성하는 알고리즘이다. |
| 65 | ====의사 코드 (간이화)==== |
| 66 | 삽입 정렬의 의미를 간단히 서술한 코드이다. |
| 67 | |
| 68 | {{{#!syntax java |
| 69 | insertionSort(A[], n): |
| 70 | for i ← 1 to n-1 |
| 71 | A[0…i]의 적합한 자리에 A[i]를 삽입한다. |
| 72 | }}} |
| 73 | ====의사 코드 (재귀)==== |
| 74 | |
| 75 | {{{#!syntax java |
| 76 | insertionSort(A[], n): |
| 77 | if (n>1) |
| 78 | insertionSort(A[], n-1) |
| 79 | A[0…n-1]의 적합한 자리에 A[n-1]를 삽입한다. |
| 80 | }}} |
| 81 | ====의사 코드 ==== |
| 82 | 적합한 자리를 찾는 로직을 풀어 서술한 코드이다. |
| 83 | |
| 84 | {{{#!syntax java |
| 85 | insertionSort(A[], n): |
| 86 | for i ← 1 to n-1 |
| 87 | newItem ← A[i] |
| 88 | for (j←i-1; 0 ≤ j and newItem < A[j]; j--) |
| 89 | A[j] ← A[j+1] |
| 90 | A[j+1] ← newItem |
| 91 | }}} |
| 92 | ====분석==== |
| 93 | ==고급 정렬 알고리즘== |
| 94 | ===병합 정렬(Merge Sort)=== |
| 95 | ===퀵 정렬(Quick Sort)=== |
| 96 | ===힙 정렬(Heap Sort)=== |
| 97 | ===셸 정렬(Shell Sort)=== |