728x90
반응형
1. 점화식
- 어떤 수열의 일반항을 그 이전의 항들을 이용하여 정의한 식
- ex) 피보나치 수열
- 1, 1, 2, 3, 5, 8, 13, ...
- F1 = F2 = 1, Fn+2 = Fn+1 + Fn
2. 재귀함수
- 어떤 함수가 자기 자신을 다시 호출하여 작업을 수행하는 방식
- 반환타입 함수이름 (매개변수) { 종료 조건 ... 함수이름(매개변수) }
- 종료 조건 필수, 없으면 무한 루프에 빠짐
3. 코드
// 1, 3, 9, 27, ..., n번째 수
// 1. 점화식 -> 반복문
int n = 4;
int result = 1;
for (int i = 0; i < n; i++) {
if (i == 0) {
result = 1;
} else {
result *= 3;
}
}
// 2. 재귀함수
private static int resursion(int n) {
if (n == 1) {
return 1;
}
return 3 * recursion(n - 1);
}
// 팩토리얼 (재귀함수로 구현)
private static int factorial(int n) {
if (n == 1) {
return 1;
}
return n * factorial(n - 1);
}
// 최대공약수 (재귀함수로 구현)
private static int gcd(int a, int b) {
if(a % b == 0) {
return b;
}
return gcd(b, a % b);
}
728x90
반응형
'CS > 자료구조' 카테고리의 다른 글
[자료구조] 알고리즘 복잡도 (0) | 2024.08.15 |
---|---|
[자료구조] 지수와 로그 (0) | 2024.08.15 |
[자료구조] 조합 (Combination) (0) | 2024.08.14 |
[자료구조] 순열 (Permutation) (0) | 2024.08.14 |
[자료구조] 경우의 수 (0) | 2024.08.14 |