정렬 알고리즘 (비교)

r3 ➤ r4
10====의사 코드 1(간이화)====
19====의사 코드 2====
39====의사 코드 1(간이화)====
49===삽입 정렬(Insertion=의사 코드====
50이미 정렬이 완료된 상태이면 작업을 종료한다.
51{{{#!syntax java
52bubbleSort(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
69insertionSort(A[], n):
70 for i ← 1 to n-1
71 A[0…i]의 적합한 자리에 A[i]를 삽입한다.
72}}}
73====의사 코드 (재귀)====
74
75{{{#!syntax java
76insertionSort(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
85insertionSort(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)===