전위 순회, 중위 순회, 후위 순회
🙇♀️전위 순회, 중위 순회, 후위 순회
전위 순회 출력 : 1 2 4 5 3 6 7
중위 순회 출력 : 4 2 5 1 6 3 7
후위 순회 출력 : 4 5 2 6 7 3 1
전위, 중위, 후위의 이름은 실질적으로 작동하는 코드가 어느 위치에 있느냐에 따라서 달라진다.
v * 2
가 v
위치에서 왼쪽 자식을 말한다.
v * 2 + 1
은 v
위치에서 오른쪽 자식을 말한다.
전위 순회
void D(int v)
{
if (v > 7)
return;
cout << v << " "; // 실제 일하는 코드
D(v * 2);
D(v * 2 + 1);
}
중위 순회
void D(int v)
{
if (v > 7)
return;
D(v * 2);
cout << v << " "; // 실제 일하는 코드
D(v * 2 + 1);
}
후위 순회
void D(int v)
{
if (v > 7)
return;
D(v * 2);
D(v * 2 + 1);
cout << v << " "; // 실제 일하는 코드
}