All is well

[YYBASIC0206/얌얌코딩] 재귀함수의 깊이와 너비 본문

C++/YYBASIC

[YYBASIC0206/얌얌코딩] 재귀함수의 깊이와 너비

D0YUN 2025. 2. 6. 19:07

 

  • 재귀 함수는 특정 레벨에서 여러 번 반복적으로 호출되며, 각 호출에서 계산된 레벨 값이 증가하여 트리 구조를 형성합니다.
  • 탐색 순서왼쪽부터 시작하여 아래로 내려간 후 오른쪽으로 이동하며 이루어집니다.
  • 함수 호출이 완료되면, 호출된 함수는 호출한 지점으로 return합니다.
  • 재귀 함수를 활용하면 트리 형태 데이터를 효율적으로 순회할 수 있습니다.

 

 

위 그림은 재귀 함수 속 `dfs(int level)`이 실행되는 모습을 그림으로 나타낸 것입니다.

 

// YYBASIC02_06

#include <iostream>
using namespace std;

void dfs(int level)
{
    if (level == 3)
        return;

    dfs(level + 1);         // blue
    dfs(level + 1);         // purple
    cout << "level : " << level << endl;
}

void main()
{
    // 재귀 호출 깊이
    dfs(0);

    // 재귀 호출 너비
}

 

LV06 재귀함수 깊이와 너비