이진 트리, 이진 탐색 트리, 이진 트리 순회
이진 트리
(그림: 나무위키)
부모 노드 밑에 자식 노드가 최대 2개밖에 오지 않는, 트리의 가장 간단한 형태.
두 자식 노드를 보통 왼쪽 자식과 오른쪽 자식으로 구분한다.
이진 탐색 트리
(그림: 나무위키)
이진 트리에 더해서, 부모 노드 기준으로, 정렬이 되어 있는 트리
왼쪽 자손 < 부모
오른쪽 자손 > 부모
즉 어떤 부모의 왼쪽 자손은, 부모보다 항상 작은 노드로 구성, 반대로 어떤 부모의 오른쪾 자손은 부모보다 항상 큰 형태로 구성
트리 순회
트리의 노드를 방문하는 순서라고 볼 수 있다.
전위 순회
(Pre-order
traversal) : 자신, 왼쪽 자손, 오른쪽 자손 순서로 방문중위 순회
(In-order
traversal) : 왼쪽 자손, 자신, 오른쪽 자손 순서로 방문.이진 탐색 트리
를중위 순회
하면정렬된 결과
를 얻을 수 있다.
후위 순회
(Post-order
traversal) : 왼쪽 자손, 오른쪽 자손, 자신 순서로 방문하는 순회 방법.레벨 순서
순회(Level-order
traversal) :너비 우선 순회
(Breadth-First traversal<search> | BFS)라고도 한다. 노드를 레벨 순서로 방문하는 순회 방법.
순회 예시 (첫번째 그림을 순회 하였다고 할때)
전위(pre) : 2, 7, 2, 6, 5, 11, 5, 9, 4
중위(in): 2, 7, 5, 6, 11, 2, 5, 4, 9
후위(post): 2, 5, 11, 6, 7, 4, 9, 5, 2
레벨(bfs): 2, 7, 5, 2, 6, 9, 5, 11, 4