Donc, j'ai juste eu une interview que je suis confiant que j'ai foiré royalement. J'ai eu un tas de questions lancées sur moi et n'ai pas eu assez de temps pour répondre à la dernière. Après avoir corrigé toutes les questions initiales, on m'a demandé d'écrire une fonction qui déterminerait si un arbre binaire b est contenu dans un autre arbre binaire a. Je codé la question avant que correctement, dans lequel il m'a demandé d'écrire une fonction pour déterminer si deux arbres sont égaux:Est-ce qu'un arbre binaire est contenu dans un autre arbre binaire - C
int sameTree(struct node *a, struct node *b){
//both empty = TRUE
if(a == NULL && b == NULL)
return TRUE;
//both not empty, compare them
else if(a != NULL && b != NULL){
return(
a->data == b->data &&
sameTree(a->left, b->left) &&
sameTree(a->right, b->right)
);
}
//one empty, one not = FALSE
else
return FALSE;
}
Ugh. Juste pour clarifier ma conscience, encore une fois comment détermineriez-vous si l'arbre b est à l'intérieur de l'arbre a?
Merci pour toute aide les gars.
Figurant AS-IS (même forme), ou a tous les nœuds avec une forme différente (cela appelle un autre algorithme)? BTW, il vous manque la partie où vous recherchez la racine de b dans un, mais je suppose que vous avez laissé de côté parce que c'est évident. – Kobi
Contenu en l'état. –