Les arbres binaires : la suppression

Fermé
berlingo-48 Messages postés 33 Date d'inscription vendredi 1 juin 2012 Statut Membre Dernière intervention 24 avril 2013 - 11 juin 2012 à 00:03
 regis - 15 juil. 2012 à 12:34
Bonsoir,


je viens d'écrire un programme qui supprime un noeud dans un arbre ! simple je ne sais pas comment l'écrire en utilisant des fonctions récursive ! pouvez vous m'aider svp ?

v o i d s u p p r ime _ n o e u d ( A B R ** p e r e , i n t x ) {
wh i l e ( * p e r e ) {
i f ( (* per e)-->va leur==x ) {
ABR * n o e u d x=*p e r e ;
i f ( noeud x-->ga uche==NUL L ) * per e = n oeud x-->droi te ;
e l s e i f ( n o e u d x-->d r o i t e==NUL L ) * p e r e = n o e u d x-->g a u c h e ;
e l s e {
A B R * n o e u d _ d r o i t ;
A B R ** p e r e _ n o e u d _ d r o i t=&n o e u d x-->d r o i t e ;
wh i l e ( ( * p e r e _ n o e u d _ d r o i t )-->g a u c h e )
p e r e _ n o e u d _ d r o i t=&( *p e r e _ n o e u d _ d r o i t )-->g a u c h e ;
n o e u d _ d r o i t = * p e r e _ n o e u d _ d r o i t ;
*p e r e _ n o e u d _ d r o i t= n o e u d _ d r o i t--> d r o i t e ;
noeud_droit-->gauche=noeudx-->gauche ;
n o e ud_ dr o i t-->dr o i te=n oe u dx-->d r oi t e ;
*p e r e=n o e u d _ d r o i t ;
};
free ( noeudx ) ;
r e t u r n ;
e l s e i f ( ( * p e r e )-->v a l e u r<x ) p e r e=&( } ( *p e r e )-->g a u c h e ) ;
e l s e p e r e=&( ( *p e r e )-->d r o i t e ) ;
}
}


3 réponses

KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
27 juin 2012 à 09:25
"je viens d'écrire un programme qui supprime un noeud dans un arbre"

1) ça saute aux yeux que c'est un copier-coller depuis un PDF
2) recherche rapide sur Google, et ô surprise, c'est la correction du TP7-Exercice 9

Petit rappel : Demander de l'aide pour vos exercices sur CCM
2
Je viens de tomber sur cela : http://chgi.developpez.com/arbre/binaire/
ça peut peut-être t'interésser
1
fabien2211 Messages postés 17 Date d'inscription mardi 26 juin 2012 Statut Membre Dernière intervention 15 juillet 2012 1
27 juin 2012 à 07:52
Bonjour
Est t-il encore temps de répondre? Que je sache si je prend la peine de regarder^^
0