본문 바로가기
개발공부/백준풀이

백준 1991 C++ 트리순회 문제(전위,중위,후방)순회

by park_hama 2024. 11. 13.

1991번: 트리 순회

 

여기서는 map을 사용했는데 편한 것 같다. key와 value값으로 이루어져 있는데 트리 문제에서 사용하면 좋을 것 같다.

#include <iostream>
#include <vector>
#include <queue>
#include<map>

using namespace std;

struct treeNode
{
	char left;
	char right;
};

map<char, treeNode> tree;

void preorder(char st) {

	if (st == '.')
		return;

	cout << st;
	preorder(tree[st].left);
	preorder(tree[st].right);

}

void inorder(char st) {

	if (st == '.')
		return;

	inorder(tree[st].left);
	cout << st;
	inorder(tree[st].right);

}

void postorder(char st) {

	if (st == '.')
		return;

	postorder(tree[st].left);
	postorder(tree[st].right);
	cout << st;


}

int main() {

	int n;
	cin >> n;

	for (int i = 0; i < n; i++) {
		
		char root, left, right;

		cin >> root >> left >> right;

		tree[root] = { left, right };
	
	}

	preorder('A');
	cout << '\n';

	inorder('A');
	cout << '\n';

	postorder('A');
	cout << '\n';

	return 0;
}

'개발공부 > 백준풀이' 카테고리의 다른 글

1026 C++ 그리디  (0) 2024.11.26
11723 백준 c++  (0) 2024.11.20
백준 1068 c++ 트리 그래프문제  (1) 2024.11.12
백준 9019 C++ bfs  (0) 2024.11.11
1987 C++ 백준 그래프 문제  (0) 2024.11.04