본문 바로가기

old/Programming

반복문vs.재귀함수

반응형

정의

큰 문제를 반복 가능한 작은 문제로 나눠 푸는 방법

모든 재귀함수는 반복문으로 작성 가능

장단점

반복문 재귀함수
직관적 상대적으로 복잡함
코드가 김 코드가 짧음
가독성이 좋지 않음 가독성이 좋음
메모리를 적게 사용 메모리를 많이 사용
스택오버 플로우가 일어날 가능성이 거의 없음 호출이 너무 깊으면 스택오버 플로우
변수상태가 저장되지 않음 각 단계의 변수 상태가 자동 저장됨(함수의 스택 프레임 때문)
  함수 호출 과부화가 일어남

실무

실무는 가독성이 좋고 유지보수가 좋은 코드가 좋으므로, 기본적으로 재귀함수로 작성

이런 경우 반복문의 작성(재귀함수의 단점 때문)

  • 스택오버 플로우가 날 가능성이 있는 경우 : 피보나치 수열의 큰수를 계산해야 하는 코드
  • 성능문제가 확인된 경우: 1초에 10만번씩 실행되어야 하는 코드
반응형

'old > Programming' 카테고리의 다른 글

파이썬의 변수  (0) 2021.09.03
꼬리 재귀 함수  (0) 2021.09.03
좋은 코드 쓰는 법  (0) 2021.08.31
[Android Studio 소스코드]를 [Github]에 업로드 하는 법  (0) 2021.08.31
알고리즘 이란  (0) 2021.08.28