반응형
2021/03/01 - [개발/알고리즘 기초공부] - Recursion - 순환함수(재귀함수) (1)
2021/03/01 - [개발/알고리즘 기초공부] - Recursion - 순환함수(재귀함수) (2)
2021/03/02 - [개발/알고리즘 기초공부] - Recursion - 미로찾기
2021/03/04 - [개발/알고리즘 기초공부] - Recursion - Blob 셀 카운트
//순차탐색 - 암시적 매개변수
public int search (int[] data, int n, int target){
for (int i=0; i<n; i++){
if (data[i] == target) return i;
}
return -1;
}
//순차탐색 - 명시적 매개변수를 사용한 순환함수
//검색구간의 시작점을 명시적으로 지정
public int search_r (int[] data, int begin, int end, int target){
if (begin > end) return -1;
else if (target == data[begin]) return begin;
else return search_r(data, begin+1, end, target);
}
//최대값 찾기
public int findMax(int[] data, int begin, int end) {
if (begin == end) return data[begin];
else return Math.max(data[begin], findMax(data, begin+1, end));
}
//binary search 이진검색
public static int binarySearch(String[] items, String target, int begin, int end){
if (begin > end) return -1;
else {
int middle = (begin+end)/2;
int compResult = target.compareTo(items[middle]);
if (compResult == 0) return middle;
else if (compResult < 0) return binarySearch(items, target, middle-1, end);
else return binarySearch(items, target, middle+1, end);
}
}
- 순환의 시작점을 명시적으로 함수에 표기하여야함.
- compareTo 함수
반응형
'개발 > 알고리즘 기초공부' 카테고리의 다른 글
Recursion - Blob 셀 카운트 (0) | 2021.03.04 |
---|---|
Recursion - 미로찾기 (0) | 2021.03.02 |
Recursion - 순환함수(재귀함수) (2) (0) | 2021.03.01 |
Recursion - 순환함수(재귀함수) (1) (0) | 2021.03.01 |
백준 1712 : 손익분기점 (0) | 2021.02.28 |