스택 오버플로우(2)
-
꼬리 재귀
재귀 함수의 최적화 기법: 꼬리 재귀(Tail Recursion)재귀 함수는 함수가 자기 자신을 호출하는 방식으로 문제를 해결하는 기법입니다. 그러나 재귀 호출이 많아지면 스택 오버플로우(Stack Overflow)가 발생할 수 있고, 성능 문제가 생길 수 있습니다. 이를 해결하기 위한 중요한 기법 중 하나가 꼬리 재귀(Tail Recursion)입니다.1. 꼬리 재귀(Tail Recursion)란?꼬리 재귀란, 재귀 호출이 함수의 마지막 연산(Tail Position)으로 수행되는 형태를 말합니다. 즉, 현재 함수가 종료될 때까지 추가 연산이 필요하지 않도록 설계하는 방식입니다.✅ 일반 재귀와 꼬리 재귀의 차이점# 일반적인 재귀 함수 (일반 재귀)def factorial(n): if n == 0:..
2025.02.25 -
C언어 초급 - 9장: 함수 (Function) (9.4 재귀 함수 (Recursive Function))
9.4 재귀 함수 (Recursive Function)1. 재귀 함수란?재귀 함수(Recursive Function) 는 자기 자신을 호출하는 함수입니다.즉, 함수 내부에서 자기 자신을 다시 호출하여 문제를 해결하는 방식입니다.📌 재귀 함수의 특징문제를 작은 부분으로 나누어 해결하는 방식.기본 종료 조건(Base Case) 이 있어야 함.종료 조건을 만족하면 더 이상 자기 자신을 호출하지 않음.2. 재귀 함수의 원리재귀 함수는 두 가지 요소로 구성됩니다.1️⃣ 기본 종료 조건(Base Case)재귀가 종료되는 조건으로, 반드시 필요함.없으면 무한 루프에 빠져 프로그램이 멈추지 않음.2️⃣ 재귀 단계(Recursive Case)자기 자신을 다시 호출하여 문제를 해결하는 부분.매번 입력값을 조금씩 변경하여..
2025.02.24