반응형
[Algorithm] 재귀, 분할 정복
* Python을 기준으로 합니다 재귀 (Recursion), 분할 정복 (Divide and Conquer) - 개념 재귀 : 자기 자신을 호출하는 것 재귀를 활용하면 함수는 시스템적으로 스택에 누적되는데, 해당 스택의 용량에는 한계가 있으므로 일정 횟수 이상을 넘어가면 overflow가 발생함 - Python은 일반적으로 1000의 재귀 상한을 가짐 (`sys.setrecursionlimit()`를 통해 재귀 상한을 늘릴 수 있음) 반복문 대신 재귀를 사용하는 이유 점화식이 존재하는 경우 (e.g. 피보나치 수열, 파도반 수열 등) 가독성 향상을 위해 (e.g. DFS) 변수 사용을 줄이기 위해 재귀의 사용 문제를 해결할 수 있는 점화식 (상태)에 대한 정확한 정의가 필요함 재귀 호출이 멈추고 값이 ..
Algorithm/Basic
2024. 4. 15. 16:17
반응형