Вставка элемента в двоичное дерево
Пробовал много исследовать по сети, но мог получить любую помощь, Везде это как добавление узла в дерево бинарного поиска.
Вопрос: Запрос алгоритма и фрагмента кода для добавления узла вБинарное дерево, (или укажите мне правильный URL)
Предположение: согласно моему пониманию,Бинарное дерево а такжеДвоичное дерево поиска это отличается? Поправь меня, если я ошибаюсь.
(запрос: если вы пишете свой фрагмент кода, пожалуйста, используйте правильное имя переменной, которое поможет в понимании)
Например: бинарное дерево
5 7 3 x1 x2 x3
5
7 3
x1 x2 x3
Двоичное дерево поиска 5 7 3 2 4 6
5
3 7
2 4 6
insert(int key, struct node **root)
{
if( NULL == *root )`
{
*root = (struct node*) malloc( sizeof( struct node ) );`
(*root)->data = key;
(*root)->left = NULL;
(*root)->right = NULL;
}
else if(key < (*root)->data)
{
insert( key, &(*root)->left );
}
else if(key > (*root)->data)
{
insert( key, &(*root)->right );
}
}