Copie arbre binaire dans l'ordre
Le code que j'ai écrit jusqu'à présent est:
void copyInOrder(TNode *orgTree, Tnode *& copyTree){
if(orgTree !=NULL){
copyInOrder(orgTree->left_link);
//create leftmost node of tree but how to link to parent
copyInOrder(orgTree->right_link);
}
}
Je ne sais pas comment le lien à la mère de noeuds comme son afinde.
Vous devez vous connecter pour publier un commentaire.
Je pense que ce serait quelque chose comme cela.
Supposons que
orgTree
points à la racine (2
). Pour la copie, nous devons faire ce qui suit:copyTree
, et la copie de la valeur 2 dans ilorgTree->left != NULL
, appelcopyInOrder( orgTree->left, copyTree->left );
orgTree->right != NULL
, appelcopyInOrder( orgTree->right, copyTree->right );
BTW, ce type de parcours est connu comme pré-commande traversal, dans l'ordre de la traversée à l'est différent.
C'est une méthode récursive qui fonctionne et qui est simple