data-structures
Двоичное дерево поиска
Поиск…
Создание узла в BST
Дерево двоичного поиска (BST) представляет собой иерархическую структуру данных с единственным указателем на корневой узел.
Узел в BST обычно содержит «элементы» (например, числа или имена) для быстрого поиска. Каждый узел имеет не более двух детей (слева и справа). Каждый узел организован некоторым ключевым полем данных. Для каждого узла в BST его ключ больше, чем левый дочерний ключ и ключ менее прав ребенка
Типичная структура узла (который хранит целое число) будет
struct bst_node {
int item;
bst_node* left;
bst_node* right;
};
Будет только один корневой узел BST. Корневой узел может быть создан
bst_node* root = NULL;
root = (bst_node*) malloc(sizeof(bst_node));
Чтобы установить ключ элемента root на 10.
root->item = 10;
вставка узла в двоичное дерево поиска
struct tree{
int a;
tree* right;
tree* left;
};
tree* root=NULL;
void insert(tree*& in, int b){
if(in){
if(in->a<b)
insert(in->right,b);
else if(in->a>b)
insert(in->left,b);
else
cout<<"the value is already in the tree."<<endl;
}else{
tree* temp = new tree;
temp->a=b;
temp->right=NULL;
temp->left=NULL;
in=temp;
}
}
Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow