반응형
https://www.acmicpc.net/problem/5639
5639번: 이진 검색 트리
트리를 전위 순회한 결과가 주어진다. 노드에 들어있는 키의 값은 106보다 작은 양의 정수이다. 모든 값은 한 줄에 하나씩 주어지며, 노드의 수는 10,000개 이하이다. 같은 키를 가지는 노드는 없다
www.acmicpc.net
#include <bits/stdc++.h>
using namespace std;
struct Node{
int data;
Node* left;
Node* right;
Node(int _data, Node* _left, Node* _right): data(_data), left(_left), right(_right){};
};
void insert(Node** root,int value){
Node* p = *root, *q = nullptr;
while(p != nullptr){
q = p;
if(value < p->data){
p = p->left;
}
else p = p->right;
}
Node* newNode = new Node(value, nullptr, nullptr);
if(q == nullptr){
*root = newNode;
}
else if(value < q->data){
q->left = newNode;
}
else{
q->right = newNode;
}
}
void postOrder(Node* root){
if(root== nullptr) return;
postOrder(root->left);
postOrder(root->right);
cout << root->data << '\n';
}
int main() {
ios::sync_with_stdio(0); cin.tie(0);
int num;
Node* root = nullptr;
while(cin >> num){
insert(&root, num);
}
postOrder(root);
return 0;
}
반응형
'Algorithm > problem' 카테고리의 다른 글
백준 1949번 : 우수마을 - 트리 C++ (0) | 2022.10.02 |
---|---|
[백준] 4256번 : 트리 - 재귀 (0) | 2022.10.02 |
백준 2250번 : 트리의 높이와 너비 - 트리, C++ (0) | 2022.10.01 |
백준 5670번 : 휴대폰 자판 - Trie C++ (0) | 2022.09.28 |
백준 1167번 : 트리의 지름 - Java (0) | 2022.09.21 |