반응형
<코드>
#include<iostream>
#include<algorithm>
#include<string>
using namespace std;
int N;
char P, L, R;
int parent[26][2];
void preorder(char root) // 전위순회
{
if (root == '.') return;
else
{
cout << root;
preorder(parent[root - 'A'][0]);
preorder(parent[root - 'A'][1]);
}
}
void inorder(char root) // 중위순회
{
if (root == '.') return;
else
{
inorder(parent[root - 'A'][0]);
cout << root;
inorder(parent[root - 'A'][1]);
}
}
void postorder(char root) // 후위순회
{
if (root == '.') return;
else
{
postorder(parent[root - 'A'][0]);
postorder(parent[root - 'A'][1]);
cout << root;
}
}
int main()
{
ios::sync_with_stdio(0);
cin.tie(0);
cin >> N;
for (int i = 0; i < N; i++)
{
cin >> P >> L >> R;
parent[P - 'A'][0] = L;
parent[P - 'A'][1] = R;
}
preorder('A');
cout << '\n';
inorder('A');
cout << '\n';
postorder('A');
cout << '\n';
}
풀이 방법
전위순회 : 루트 - 왼쪽자식 - 오른쪽자식
중위순회 : 왼쪽자식 - 루트 - 오른쪽자식
후위순회 : 왼쪽자식 - 오른쪽자식 - 루트
반응형
'🧩PS > 🥈Nomal' 카테고리의 다른 글
[C/C++] 백준 5639번 - 이진 검색 트리 (0) | 2021.03.14 |
---|---|
[C/C++] 백준 2263번 - 트리의 순회 (0) | 2021.03.14 |
[C/C++] 백준 1167번 - 트리의 지름 (2) | 2021.03.14 |
[C/C++] 백준 11725번 - 트리의 부모 찾기 (0) | 2021.03.13 |
[C/C++] 백준 17087번 - 숨바꼭질 6 (0) | 2021.03.11 |