[c++] 트리빌더정렬

이번 글에서는 C++를 사용하여 트리 빌더 정렬에 대해 알아보겠습니다.

트리 빌더란?

트리 빌더는 주어진 데이터를 트리 구조로 정렬하는 알고리즘입니다. 이 알고리즘은 빠른 검색과 데이터 정렬에 유용하게 사용됩니다.

C++로 트리 빌더 정렬 구현하기

아래는 C++로 간단한 트리 빌더 정렬 알고리즘을 구현한 예제 코드입니다.

#include <iostream>
#include <vector>
#include <algorithm>

struct Node {
    int data;
    Node* left;
    Node* right;
    Node(int data) : data(data), left(nullptr), right(nullptr) {}
};

void insert(Node* root, int data) {
    if (data < root->data) {
        if (root->left == nullptr) {
            root->left = new Node(data);
        } else {
            insert(root->left, data);
        }
    } else {
        if (root->right == nullptr) {
            root->right = new Node(data);
        } else {
            insert(root->right, data);
        }
    }
}

void inOrder(Node* root) {
    if (root != nullptr) {
        inOrder(root->left);
        std::cout << root->data << " ";
        inOrder(root->right);
    }
}

int main() {
    std::vector<int> data = {5, 3, 7, 2, 4, 6, 8};
    Node* root = new Node(data[0]);

    for (int i = 1; i < data.size(); ++i) {
        insert(root, data[i]);
    }

    inOrder(root);
    return 0;
}

위의 코드는 간단한 트리 빌더 정렬을 구현한 예제입니다. 데이터를 삽입하면서 트리를 구성하고, 중위 순회 방식으로 정렬된 데이터를 출력합니다.

마치며

이렇게 C++를 사용하여 트리 빌더 정렬에 대해 알아보았습니다. 트리 구조를 통해 데이터를 효율적으로 정렬하고 검색하는 방법에 대해 이해하게 되었습니다.

참고문헌:

다음에 또 만나요!