1. 하나씩 비교하는 방법
FindMinimum{A[], n){
min = A[0];
for (i=1; i<n;i++)
if(A[i]<min) min = A[i];
return min;
}
2. 최소/최대 모두 찾기
FindMinMax(A[], n, min, max) {
if(A[0]<A[1]){ min= A[0]; max=A[1]; }
esle{ min = A[1]; max = A[0]; }
for(i=2; i<n; i += 2) {
if{A[i]<A[i+1]) { small = A[i]; large = A[i+1];}
else{small = A[i+1]; large = A[i]; }
if(small < in) min = small;
if(large > max ) max = large;
}
}
3. i번째로 작은 원소 찾기
int Selection(a[], n, i){
Left = 0; Right = n-1;
p = Partition(A, n);
if(i == p+1) return A[p];
else if(i<p+1) Selection(A[Left...p-1], (p-1)-Left+1, i);
else Selection(A[p+1....Right], Right-(p+1)-1, i-p-1);
}
'알고리즘' 카테고리의 다른 글
연쇄 행렬 곱샘 알고리즘 (0) | 2020.03.30 |
---|---|
피보나치 수열 알고리즘 (0) | 2020.03.30 |
합병 정렬 알고리즘 (0) | 2020.03.30 |
분할함수 알고리즘 (0) | 2020.03.19 |
퀵 정렬 (0) | 2020.03.19 |