Niedawno zakończyłem implementację drzewa wyszukiwania binarnego dla projektu, nad którym pracowałem. Wszystko poszło dobrze i wiele się nauczyłem. Jednak teraz muszę zaimplementować zwykłe drzewo binarne ... które z jakiegoś powodu mnie zaskoczyło.Algorytm wstawiania drzewa binarnego
szukam sposób wykonywać swoją funkcję InsertNode ..
zwykle w BST po prostu sprawdzić, czy dane < korzeń włóż lewy i vice versa. Jednak w normalnym drzewie binarnym jest on po prostu wypełniany od lewej do prawej, jeden poziom na raz ..
Czy ktoś mógłby mi pomóc zaimplementować funkcję, która dodaje nowy węzeł do drzewa binarnego od lewej do prawej w brak konkretnego zamówienia?
Oto mój Włóż do BST:
void Insert(Node *& root, int data)
{
if(root == nullptr)
{
Node * NN = new Node;
root = NN;
}
else
{
if(data < root->data)
{
Insert(root->left, data);
}
else
{
Insert(root->right, data);
}
}
}
A binarne drzewo wyszukiwania to drzewo binarne, w którym dane w węzłach są uporządkowane w określony sposób. Więc jeśli wdrożyłeś BST, nie masz wiele do roboty ... –
Dobrze. Właśnie tam utknąłem, nie widzę sposobu, aby to zrobić po prostu ... – Taylor
czy powinienem po prostu zmienić sprawdzanie < >, czy są one zerowe? – Taylor