Algorithm/재귀 2

[대표문제] 피보나치 수열

재귀 호출 [대표문제] 피보나치 수열 피보나치 수열 이전의 두 수 합을 다음 항으로 하는 수열 점화식 A0 = 0 A1 = 1 Ai = Ai-1 + Ai-2 (i >= 2)재귀함수를 사용한 피보나치 수열 수도 코드 /* fibo(n) if n < 2 : return n; else : return fibo(n-1) + fibo(n-2); */ 자바 코드1; 단점. 중복 호출이 매우 많음. 최적화 필요 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Java4150_피보나치수 { static BufferedReader bf = new BufferedReader(new ..

Algorithm/재귀 2023.06.15

재귀 함수 개념

재귀 함수 반복(Iteration)과 재귀(Recursion) 재귀 의미 자신을 정의하는데 그 내용안에 다시 자신을 포함하는 형태의 함수 반복과 재귀 반복과 재귀는 굉장히 유사함. 동일한 작업 형태로 더 작은 문제로 쪼갤 수 있으면 재귀 개념을 사용할 수 있음. 재귀 함수 내부 구분 기본 부분(basis part) => 기저 조건 유도 부분(indective part) => 재귀 파생 반복문 만들때 고려할 점 반복의 단위를 찾음 : 규칙을 찾는다. 재귀 함수 만들때 고려할 점 함수(메서드) 정의를 명확히 할 것 문제를 작은 단위로 쪼개보기. basis part를 찾을때까지 => 기저 조건 확인 함수가 자신의 작업을 수행하기 위해 결정하는 값을 매개변수로 지정 재귀 종류 선형 재귀 상황에 따라서 반복문으로..

Algorithm/재귀 2023.06.15