[c++] 전위 순회(Preorder Traversal) 트리 순회 알고리즘
아래는 C++로 구현한 전위 순회 알고리즘의 예시 코드이다.
#include <iostream>
using namespace std;
struct Node {
int data;
Node* left;
Node* right;
};
void preorderTraversal(Node* root) {
if (root == nullptr) {
return;
}
cout << root->data << " "; // 루트 노드 방문
preorderTraversal(root->left); // 왼쪽 서브트리 순회
preorderTraversal(root->right); // 오른쪽 서브트리 순회
}
int main() {
// 트리 생성 및 초기화
Node* root = new Node{1, new Node{2, nullptr, nullptr}, new Node{3, nullptr, nullptr}};
// 전위 순회 수행
cout << "Preorder traversal: ";
preorderTraversal(root);
return 0;
}
위 코드는 전위 순회 알고리즘을 구현하고, 트리를 생성하여 전위 순회를 수행하는 예시이다.
참고 문헌:
- Introduction to Algorithms, 3rd Edition by Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein