Im που προσπαθεί να χτίσει μια σειρά που βασίζεται, «Binary Search Tree», ακολουθώντας τον αλγόριθμο σε:
... χρησιμοποιώντας τον αλγόριθμο που ήρθα με τον ακόλουθο κώδικα:
void BST::insert( const data &aData )
{
item *y = &items[root_index]; // Algorithm calls for NULL assignment..
item *x = &items[root_index];
while ( ! items[root_index].empty )
{
y->theData = x->theData; // Ptrs are required or else a crash occurs.
if ( aData < x->theData )
{
x->leftChild = aData;
}
else
{
x->rightChild = items[root_index].theData;
}
// what is p[z] = y? is it outside the looping scheme?
root_index++; // and make the new child the root?
}
if ( y->empty )
{
items[root_index].theData = aData;
items[root_index].empty = false;
}
else if ( aData < y->theData )
{
y->leftChild = aData;
// If we already have a left/right child...make it the root? re-cmpr?
}
else
{
y->rightChild = items[root_index].theData;
}
}
ερωτήσεις:
Δεν μπορώ να καταλάβω τι σ [z] <- y μέσα .... Im ακριβώς την αύξηση του root για να μιμηθούν μια τραβέρσα.
Αν έχω ήδη ένα αριστερό / δεξί παιδί τότε θα πρέπει να κάνουμε αυτή την αριστερά / δεξιά παιδί taht im πρόκειται να αντικαταστήσετε τη ρίζα; Εκεί εγώ θα πρέπει να είναι recurisve έτσι θα επιστρέψετε στην αρχική ρίζα, «Ε»;
Οι ενθέσεις ένθετο ( «R»)? ένθετο ( «Α»)? ένθετο ( F)? ένθετο ( L)? ένθετο ( «Β»)? ένθετο ( C)? ένθετο ( «Τ»)?













