[BOJ/C++] 1991 트리 순회

Hanbi·2023년 10월 4일
0

Problem Solving

목록 보기
84/108
post-thumbnail

문제

https://www.acmicpc.net/problem/1991

풀이

문제 자체는 쉬웠는데 트리를 알고리즘 문제 풀며 처음 다뤄봐서 다른 사람 풀이 참고해 풀었다.

⭐map과 구조체를 이용해 트리 구현

코드

#include <iostream>
#include <map>

using namespace std;

struct Node {
	char left;
	char right;
};

map<char, Node> m;

void preOrder(char node) {
	if (node == '.')
		return;

	cout << node;
	preOrder(m[node].left);
	preOrder(m[node].right);
}

void inOrder(char node) {
	if (node == '.')
		return;

	inOrder(m[node].left);
	cout << node;
	inOrder(m[node].right);
}

void postOrder(char node) {
	if (node == '.')
		return;

	postOrder(m[node].left);
	postOrder(m[node].right);
	cout << node;
}

int main() {
	int n;
	char index, left, right;

	cin >> n;
	for (int i = 0; i < n; i++) {
		cin >> index >> left >> right;
		m[index].left = left;
		m[index].right = right;
	}

	preOrder('A');
	cout << '\n';
	inOrder('A');
	cout << '\n';
	postOrder('A');

	return 0;
}
profile
👩🏻‍💻

0개의 댓글