[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++를 사용하여 트리 빌더 정렬에 대해 알아보았습니다. 트리 구조를 통해 데이터를 효율적으로 정렬하고 검색하는 방법에 대해 이해하게 되었습니다.
참고문헌:
- GeeksforGeeks - Construct a binary search tree from a sorted linked list
- Programiz - Binary Search Tree
다음에 또 만나요!