1991

    2263_트리의 순회 (메모리초과 나온다면?)

    https://www.acmicpc.net/problem/2263 2263번: 트리의 순회 첫째 줄에 n(1 ≤ n ≤ 100,000)이 주어진다. 다음 줄에는 인오더를 나타내는 n개의 자연수가 주어지고, 그 다음 줄에는 같은 식으로 포스트오더가 주어진다. www.acmicpc.net 이번에는 트리의 순회 문제였다. 트리 구조를 보면 특징이 하나있다. 바로 트리를 잘라서 봐도 트리구조란 것 이전 문제에서 본 트리를 잠깐 보자면, 하나의 큰 트리는 작은 트리로 쪼갤 수 있다. 지금은 A가 루트인 트리이지만 C가 최고위의 트리와 B가 최고위인 트리 두개가 합쳐진 형태라고도 볼 수 있다. 그리고 전위,중위,후위 탐색은 특징이 있다. 전위 : 루트 + 왼쪽 + 오른쪽 중위 : 왼쪽 + 루트 + 오른쪽 후위 : ..

    1991_트리 순회

    https://www.acmicpc.net/problem/1991 1991번: 트리 순회 첫째 줄에는 이진 트리의 노드의 개수 N(1 ≤ N ≤ 26)이 주어진다. 둘째 줄부터 N개의 줄에 걸쳐 각 노드와 그의 왼쪽 자식 노드, 오른쪽 자식 노드가 주어진다. 노드의 이름은 A부터 차례대로 알파 www.acmicpc.net 처음 보면 조금 헤맬 수 있는 문제이다. 트리 구조에 대해서 약간 공부를 하고 순회하는 법에 대해서 공부를 한 후 풀 수 있었다. 리스트를 통해 현재노드와 자식 노드들을 저장하는것까지는 생각을 했는데 순회방법을 몰라서 헤맸었다. 알고보니 결국 탐색을 위해선 dfs방식을 택하는데 이때 print해주는 위치에 따라서 전위,중위,후위탐색이 되는 것이었다. n = int(input()) tre..