Tris par tas

Fermé
moghite sadik Messages postés 2 Date d'inscription lundi 7 juin 2010 Statut Membre Dernière intervention 7 juin 2010 - 7 juin 2010 à 18:13
moghite sadik Messages postés 2 Date d'inscription lundi 7 juin 2010 Statut Membre Dernière intervention 7 juin 2010 - 7 juin 2010 à 19:55
Bonjour,

Le principe consiste à arranger les données du tableau dans un tas
correspondant à un arbre binaire et à veiller que l'arbre reste ordonné, c?est?à?dire à
faire en sorte que les enfants d'un noeud soit toujours soient toujours ordonnés
(inférieur ou supérieur) par rapport à leur père. Puis à retire la racine à la remplacer
par le dernier élément de l'arbre, à réordonner les éléments et à recommencer. On
supposera dans cet exercice que le tableau représente un arbre, dans lequel Tab[0] est
la racine, Tab[1] et Tab [2] les sous arbres droit et gauche de la racine. Plus
généralement si i est un noeud alors 2i+1 est la racine du sous arbre droit et 2i la
racine du sous arbre gauche.

1Proposez une fonction permettant d'initialiser le tableau à partir d'un fichier
de texte.

2 Ecrire maintenant un algorithme Ajouter() qui parcours tous le tableau et
qui pour chaque élément vérifie s'il est inférieur à son père. Tant que ce n'est
pas le cas il doit être échangé avec son père.

3 Implémentez maintenant l'algorithme Retirer() un élément qui parcours le
tableau depuis la fin vers le début et qui à chaque étape échange la racine de
l'arbre (Tab[0]) avec l'élément courant. Si cette racine est plus petite qu'un
de ses enfants elle doit être échangée avec le plus petit, puis on doit
recommencer cette opération avec l'enfant échangé.


qui px faire cet exercice avc n'importe kel language.
c urgent je cherche de l'aide !!! merciiiii

2 réponses

jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897
7 juin 2010 à 19:11
0
moghite sadik Messages postés 2 Date d'inscription lundi 7 juin 2010 Statut Membre Dernière intervention 7 juin 2010
7 juin 2010 à 19:55
salut
0