이 순회 방법에서는 루트 노드를 먼저 방문한 다음 왼쪽 하위 트리, 마지막으로 오른쪽 하위 트리를 방문합니다.

우리는 A, 에서 시작합니다. 그리고 선주문 순회 후에 우리는 먼저 A 를 방문합니다. 그 다음 왼쪽 하위 트리 B로 이동합니다. 나 선주문도 통과됩니다. 모든 노드를 방문할 때까지 프로세스가 계속됩니다. 이 트리의 선주문 순회 출력은 다음과 같습니다. -
A → B → D → E → C → F → G
이것이 우리가 구현할 알고리즘입니다:
- 노드 데이터 인쇄
- 왼쪽 하위 트리를 재귀적으로 순회
- 오른쪽 하위 트리를 재귀적으로 순회
클래스에서 구현하는 방법을 살펴보겠습니다.
preOrder() {
preOrderHelper(this.root);
} 도우미 기능:
예시
function preOrderHelper(root) {
if (root !== null) {
console.log(root.data);
preOrderHelper(root.left);
preOrderHelper(root.right);
}
} 다음을 사용하여 테스트할 수 있습니다.
예시
let BST = new BinarySearchTree(); BST.insertRec(10); BST.insertRec(15); BST.insertRec(5); BST.insertRec(50); BST.insertRec(3); BST.insertRec(7); BST.insertRec(12); BST.preOrder();
출력
이것은 출력을 줄 것입니다 -
10 5 3 7 15 12 50