recursive function
-
Recursive Function대학/자료구조 2022. 12. 4. 18:28
재귀 함수는 앞으로 다룰 Tree, Heap, Graph에서 사용할 뿐만 아니라, 메모리공간을 많이 사용할 지언정, stack으로 구현해야할 코드의 길이를 획기적으로 단축 시켜줄 고급 스킬 이기 때문에 짚어보고 넘어가겠다. 예로들어 -1234와 같은 입력이 들어오면 이를 세로로 출력하는 프로그램을 구현한다고 해보자. 평범한 발상으로는 -, 1, 2, 3, 4를 순서대로 출력한다고 생각할 것이다. 하지만, 재귀적인 발상은 -123을 출력한 뒤 4를 출력한다고 생각하는 것이다. 즉, 함수에서 할 일을 작게 나누어, 큰 일은 미래의 자신(함수)에게 떠넘기고, 본인은 작은 일을 처리한다는 발상이다. 재귀 함수를 달성하려면, stopping case와 일의 분할을 명확하게 해야한다. 일을 분할하고, 분할된 일이 ..