less than 1 minute read

1. 순환의 소개

  • Recursion(순환 또는 재귀호출) : 어떤 알고리즘이나 함수가 자기 자신을 호출하여 문제를 해결하는 프로그래밍 기법

2. 순환 알고리즘의 구조

순환 알고리즘 : 자기 자신을 순환적으로 호출하는 부분 + 순환 호출을 멈추는 부분

순환 <-> 반복

많은 경우 순환은 반복으로 변환될 수 있다. 순환은 트리와 같은 특정한 문제에 대해 반복에 비해 훨씬 간결한 알고리즘을 나타낸다. 하지만 실행속도 면에서는 함수 호출의 부담에 의해 반복보다 느리다.

분할 정복

어떤 문제를 더 작은 동일한 문제들로 분해하여 해결하는 방법

팩토리얼 함수 계산, 피보나치수열, 이항계수 계산, 각종 이진트리 알고리즘, 이진 탐색, 하노이 탑 등과 같이 순환적으로 정의된 문제들에서 순환은 강력한 프로그래밍 도구이다.