mondegreen

재귀 본문

알고리즘 풀이 및 리뷰/알고리즘 이론

재귀

앙갱 2023. 6. 5. 18:30
반응형

재귀는 주어진 문제의 해를 구하기 위해 동일하면서 더 작은 문제의 해를 이용한다. 

하나의 큰 문제를 해결하기 위해 다소 해결하기 쉬운 작은 문제의 결과를 조합한다.

 

재귀함수(Recursive Function)

함수 내부에서 자기 자신을 호출하는 함수로서

기저 부분(basis part)와 유도부분(inductive part)으로 이루어져 있다.

 

함수 호출은 프로그램의 메모리 구조 중 스택을 사용한다. 반복적으로 스택을 사용하기 때문에 

메모리 및 속도에서 성능 저하가 발생한다. 

 

함수 호출 시 기저 부분이 작동하지 않으면 자기 자신을 무한 호출하여 stackoveflow 발생

 

// n!에 대한 재귀함수

int fact(int n){
    if(n<=1) return 1;
    else{
    return n* fact(n-1);
        }
}

** 반복과의 비교

n이 커질수록 재귀가 반복보다 메모리와 연산속도 효율이 떨어진다.

반응형

'알고리즘 풀이 및 리뷰 > 알고리즘 이론' 카테고리의 다른 글

순열(Permutation; 순서 O 중복 X)  (0) 2023.06.05
완전검색(Brute Force, Generate and test)  (0) 2023.06.05
검색  (0) 2023.02.19
정렬  (0) 2023.02.19
알고리즘 기본  (0) 2023.02.19