[JavaScript] 재귀함수 vs 반복문
·
JavaScript
알고리즘 공부를 하다보면 재귀함수를 사용하는 경우도 있고, 반복문을 사용하는 경우도 있다. 사용하는 것에는 문제가 없지만 그 둘의 차이가 무엇일까? 재귀함수 vs 반복문 재귀함수는 자기 자신을 호출해는 함수이고, 반복문은 특정 수만큼 반복한다. 일반적으로 반복문이 실행 속도는 더 빠르다. 그 이유는 재귀함수의 경우 매개변수, 리턴값, 리턴 시 돌아가야 하는 위치 등의 정보가 스택에 저장되지만 반복문의 경우 그러한 오버헤드가 없다. 그렇다면 굳이 재귀함수를 사용하는 이유가 무엇일까? 재귀함수는 반복문에 비해서 속도가 느리다는 단점이 있으니, 전부 반복문을 사용해서 해결해도 된다. 하지만 그래도 재귀함수를 사용하는 사람이 있다. 그 이유는 뭘까? 그 이유는 알고리즘을 해결할 때 재귀 함수로 표현하면 더 자연..