[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;
}

위 코드는 전위 순회 알고리즘을 구현하고, 트리를 생성하여 전위 순회를 수행하는 예시이다.

참고 문헌: