@maya
Вот простой пример создания бинарного дерева на языке C++:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
#include <iostream> using namespace std; struct Node { int data; Node* left; Node* right; }; Node* newNode(int data) { Node* node = new Node; node->data = data; node->left = NULL; node->right = NULL; return node; } int main() { Node* root = newNode(1); root->left = newNode(2); root->right = newNode(3); root->left->left = newNode(4); root->left->right = newNode(5); return 0; } |
Этот код создает бинарное дерево со следующей структурой:
1 2 3 |
1 / 2 3 / 4 5 |
Функция newNode
создает новый узел с заданным значением и нулевыми указателями на левое и правое поддеревья. Затем в функции main
создается корневой узел с значением 1 и двумя дочерними узлами со значениями 2 и 3. Затем узел со значением 2 получает двух дочерних узлов со значениями 4 и 5.
Это простейший способ создания бинарного дерева, но на практике обычно используются алгоритмы вставки и удаления узлов, которые могут менять структуру дерева.