재귀함수를 비재귀적으로 구현하기 예시 - 재귀함수 동작의 이해를 높이자
·
자료구조 + 알고리즘
알고리즘 문제를 풀다보면 재귀함수를 비재귀적으로 구현해보라고 하는 문제가 자주 나온다. 얼마 전에도 재귀함수를 비재귀적으로 구현해보는 문제를 접했는데, 재귀함수의 동작 과정을 이해하고 받아들이는 큰 도움이 되었다: https://splendidlolli.tistory.com/343 재귀의 제거 | Stack에 잠시 저장해두기 | 재귀의 과정 이해 | 비재귀적 구현해보기 코드출처: Doit! 자료구와 함께 배우는 알고리즘 입문 (자바 편)의 174~177페이지 다음의 간단한 재귀함수를 비재귀적으로 표현해보자. 이 활동은 재귀함수의 동작 과정의 이해를 돕는다. 이번 포스 splendidlolli.tistory.com 위 링크에서 풀었던 재귀함수 문제는, 메서드 내부에서 'recur(n-1)->print(n)..
재귀의 제거 | Stack에 잠시 저장해두기 | 재귀의 과정 이해 | 비재귀적 구현해보기
·
자료구조 + 알고리즘
코드출처: Doit! 자료구와 함께 배우는 알고리즘 입문 (자바 편)의 174~177페이지 다음의 간단한 재귀함수를 비재귀적으로 표현해보자. 이 활동은 재귀함수의 동작 과정의 이해를 돕는다. 이번 포스팅의 학습 목적은 "재귀함수의 동작 원리를 깔끔하게 이해하여, 같은 동작을 비재귀적으로 표현할 줄 알기"이다. 1. 다음의 재귀함수를 보자. static void recur(int n) { if (n>0) { recure(n-1); System.out.println(n); recur(n-2); } } 두 번의 재귀호출이 존재하는 메서드 recur이다. 동작 설명: 메서드의 인자로 어떤 양수 n이 들어오면, - recur(n-1) 동작이 완전히 수행된 후 - n을 출력하고 - recur(n-2) 동작이 완전히..