트리 탐색

트리 자료구조에서 탐색(또는 검색)은 트리의 종류에 따라 많이 달라진다.

따라서 각 트리의 자료구조에 대한 이해가 필수적이다.

트리 자료구조에 대한 정리는 아래 페이지에 정리하겠다.

트리의 탐색 방식 4가지

트리의 탐색 방식은 4가지가 있다. 아래에 표로 정리하였다.

방식 순서 특징
전위 순회 (Pre-order) 루트 → 왼쪽 → 오른쪽 트리 구조 출력, 복제
중위 순회 (In-order) 왼쪽 → 루트 → 오른쪽 이진 탐색 트리일 때 정렬된 순서 출력
후위 순회 (Post-order) 왼쪽 → 오른쪽 → 루트 삭제 순서, 후처리에 유리
레벨 순서 순회 (Level-order) 루트부터 층별 순서로 BFS 기반, 시각화에 적합

예시를 들어보자.

      A
     / \\
    B   C
   / \\   \\
  D   E   F

위 트리에서 각 방식에 따라 방문하는 순서를 생각해보자.

전위의 경우

루트부터 시작한다. A

그 다음 왼쪽으로 쭉 같다. B → D

그 다음 작은 부분의 오른쪽을 방문하고 E

남은 오른쪽을 방문한다. C →F

따라서, A → B → D→ E → C → F 순으로 방문한다.

image.png

중위의 경우

왼쪽부터 진행하므로 D

이후 루트 → 오른쪽 B → E

다시 루트 →오른쪽 A → C → F

따라서 D→B→E→A→C→F 이다.

image.png

후위의 경우

왼쪽 → 오른쪽 → 루트이므로

시작은 D

다음 오른쪽 E

다음 루트 B

다음 왼쪽은 없으니 오른쪽 F

좌우 다 없으니 루트 C

좌우 다 없으니 루트 A로

따라서 D→E→B→F→C→A이다

image.png

이진 트리 탐색

이진 트리 탐색은 트리 자료구조 중 ‘이진 트리’의 모든 노드를 특정 순서에 따라 탐색하는 방법이다.

이진 트리는 자식이 2개인 트리를 의미하며