본문 바로가기

트리순회

(3)
[BOJ] 2263번 트리의 순회 (C++) https://www.acmicpc.net/problem/2263 2263번: 트리의 순회 첫째 줄에 n(1 ≤ n ≤ 100,000)이 주어진다. 다음 줄에는 인오더를 나타내는 n개의 자연수가 주어지고, 그 다음 줄에는 같은 식으로 포스트오더가 주어진다. www.acmicpc.net #include using namespace std; int Index[100001]; int inOrder[100001]; int postOrder[100001]; void getPreOrder(int inStart, int inEnd, int postStart, int postEnd){ if(inStart > inEnd || postStart > postEnd) return; int rootIndex = Index[po..
[BOJ] 5639번 이진 검색 트리 (C++) https://www.acmicpc.net/problem/5639 5639번: 이진 검색 트리 트리를 전위 순회한 결과가 주어진다. 노드에 들어있는 키의 값은 106보다 작은 양의 정수이다. 모든 값은 한 줄에 하나씩 주어지며, 노드의 수는 10,000개 이하이다. 같은 키를 가지는 노드는 없다 www.acmicpc.net #include using namespace std; int tree[10000]; void postOrder(int start, int end){ if (start >= end) { return; } if (start == end - 1){ cout
[BOJ] 1991번 트리 순회 (C++) https://www.acmicpc.net/problem/1991 1991번: 트리 순회 첫째 줄에는 이진 트리의 노드의 개수 N(1 ≤ N ≤ 26)이 주어진다. 둘째 줄부터 N개의 줄에 걸쳐 각 노드와 그의 왼쪽 자식 노드, 오른쪽 자식 노드가 주어진다. 노드의 이름은 A부터 차례대로 알파 www.acmicpc.net #include using namespace std; pair edge[26]; void pre(char cur) { if (cur == '.') return; cout > node >> left >> right; edge[node - 'A'] = { left, right }; } pre('A'); cout