목록2024/12/24 (2)
승쨩개발공부
재귀함수를 탐색하다 보면 밑 그림과 같이 무수히 많은 함수중 어떤 함수를 실행하고 있는지 따로 체크를 하지 않으면 탐색하기가 어렵다.특히 디버깅 하거나 할떄 잊어버리기 쉽상이다.그래서 함수에 들어가기 전에 해당 함수의 위치를 배열에 기록해두려 한다.위 사진은 Depth는 2이고 Branch는 3이다.코드과정 출력 결과어? 출력결과를 잘 보면 A,B,C가 카드로 치면 3장이 있다고 치고A,B,C로 카드를 2개를 뽑는 모든 경우에 수가 생긴걸 볼수 있다! 그렇다면 카드 3장이 있고 3장을 모두 뽑는다면 그 경우의 수도 출력할수있지않을까?된다!즉 깊이는 뽑는갯수넓이는 카드의 종류라고 보면 될것같다. 연습문제1위와 같은 트리모양으로 재귀호출 프로그램을 만드려 합니다.Level 3에 도착했을떄 입력 받은 PA..
재귀함수 깊이와 너비만약 재귀함수를 한번이 아니라 2번이 된다면 어떻게될까?재귀 함수를 2번 호출을 해보자 그렇다면 구조는 이렇게 나오게된다.그렇다면 이동 방향은? 왼쪽아래부터 내려가서 끝까지 내려갔음 다시 1로돌아와서 2로가고 다시 0까지 올라가고오른쪽 1로가서 왼쪽2로가고 다시 1로올라와서 2로가고 끝까지 올라온다.즉, 왼쪽 아래를 우선적으로 탐색한다. 출력결과 그럼 재귀2번호출은 알았으니 3번호출이 된다면? 구조는 이렇게 나오게 된다. 출력결과즉 코드를 보면 알수있듯이매개변수로 던지는 Level은 Depth(깊이)가 되고재귀 호출의 횟수는 Width(너비)가 된다, 또는 Branch(나뭇가지)라고도 할수있다. 연습문제1Level과 Branch를 입력 받고 그만큼 재귀호출을 해 주세요(출력결과..