
재귀 재귀란 무엇일까? : 하나의 함수에서 자기 자신을 다시 호출해 작업을 수행하는 알고리즘, 즉 하나의 함수에서 자기 자신을 다시 호출해 작업을 수행하는 알고리즘이다. 절차지향적 사고 vs 귀납적 사고 void func1(int n) { if(n == 0) return; printf("%d ", n); func1(n - 1); } n부터 1까지 출력하는 문제를 예를 들어서… 절차지향적 사고절차를 따라 출력, 호출을 반복하다가, func1(0) 은 if문에 걸려 재귀를 탈출하게 된다. func1(3)의 출력 결과가 어떻게 3 2 1 인가? 귀납적 사고만약 func1(k) 가 k k-1 k-2 … 1 을 출력하면 즉 k부터 1까지 차례대로 출력한다면 func1(k+1) 의 경우에는 k+1 k k-1 … 1..