문제 SWEA 1231 중위순회 D4 python 문제링크 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 나의 코드 트리를 생성한 후 중위순회를 진행해주는 문제다. 배열로 인덱스 별 값들을 받아줬고, 해당 배열에 대해 중위순회를 진행했다. 왼쪽 노드는 node * 2, 오른쪽 노드는 node * 2 + 1 으로 처리해주었다. def inorder(idx): if idx > N: return # if left node exists if (idx * 2)
문제링크: 문제해결 기본 Tree SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 5174-Subtree D2 def node_num(root): global cnt node = [root] while node: rt = node.pop() if left[rt]: node.append(left[rt]) # should uncomment #cnt +=1 if right[rt]: node.append(right[rt]) # should uncomment #cnt +=1 T = int(input()) for tc in range(T): E, N = map(int, input().split()) arr = list(m..
Tree를 순회하는 방법에는 세가지가 있다. 1. Pre-order Traversal (전위순회법) Root node에서 시작하여 왼쪽 부 트리를 순회하고 가장 마지막의 부트리까지 순회한다 오른쪽 부 트리를 순회하고 가장 마지막의 부트리까지 순회한다. DFS와 비슷한 논리라고 생각하면 쉽다. Pseudocode: Pre_order def pre_order(T): if T is not null: visit(T) pre_order(T.left) pre_order(T.right) 2. In-Order Traversal (중위 순회법) 트리의 가장 왼쪽 노드로 이동한다. 왼쪽 노드의 루트를 탐색한다. 루트의 오른쪽 노드를 탐색한다. 트리의 가장 왼쪽에 있는 노드부터 시작하여 탐색한다고 생각하면 이해가 쉽다. d..