Construction d'un Tas (Tri par Tas)
Bonjour,
J'ai un peu près tout les éléments pour construire un tas Binaire. Mais je ne comprend pas certain point de l'algo.
Construire-Tas-Max(T)
1 T.taille = T.longueur
2 pour i = [T.longeur/2] decr jusqu'à 1
3 ..................Entasser-Max( T , i )
Est-ce que T.taille= len(T) ?
(Pour moi, il n'a pas de différence entre T.taille et T.longueur mis à part que .longueur est une "fonction" ) (Même si on me dit que T.longueur donne le nombre d'élément dans le tableau et que T.taille représente le nombre d'élément ranger dans le tableau)
comment fait-on en python le decr (le mot me perturbe). ?
J'ai fait :
Merci pour votre aide.
J'ai un peu près tout les éléments pour construire un tas Binaire. Mais je ne comprend pas certain point de l'algo.
Construire-Tas-Max(T)
1 T.taille = T.longueur
2 pour i = [T.longeur/2] decr jusqu'à 1
3 ..................Entasser-Max( T , i )
Est-ce que T.taille= len(T) ?
(Pour moi, il n'a pas de différence entre T.taille et T.longueur mis à part que .longueur est une "fonction" ) (Même si on me dit que T.longueur donne le nombre d'élément dans le tableau et que T.taille représente le nombre d'élément ranger dans le tableau)
comment fait-on en python le decr (le mot me perturbe). ?
J'ai fait :
def Construire_Tas(T):
while echange != 0 : #Ici erreur car je n'ai pas déclarer échange
for i in range(len(T)/2):
entasser_Tas_Max(T,i)
return T
Merci pour votre aide.
1 réponse
-
Bonjour,
Je te propose de plutôt repartir de ce qui est expliqué ici :
https://fr.wikipedia.org/wiki/Tri_par_tas
La seule dimension importante est le nombre d'élément à trier, qui correspond à la longueur de la liste qui les stocke et au nombre de nœuds de l'arbre implicitement utilisé pour effectuer le tri.
Bonne chance