Besoin du principe du tri par selection

Fermé
jihaneamiri Messages postés 4 Date d'inscription mardi 22 février 2011 Statut Membre Dernière intervention 22 février 2011 - Modifié par jihaneamiri le 22/02/2011 à 13:20
 jihaneamiri - 24 févr. 2011 à 22:21
Bonjour,



est ce que quelqu'un peut m'expliquer le principe du tri par selection
g un controle la semaine prochaine en programmation et je n'arrive pas encore à maitriser ce concept .
merci d'avance

4 réponses

floverdevel Messages postés 121 Date d'inscription dimanche 18 février 2001 Statut Membre Dernière intervention 20 mai 2011 15
22 févr. 2011 à 13:20
0
jihaneamiri Messages postés 4 Date d'inscription mardi 22 février 2011 Statut Membre Dernière intervention 22 février 2011
22 févr. 2011 à 13:52
j'ai déjà vu avec ca mai ca n'a pas pu faire l'affaire
0
arthurc Messages postés 26 Date d'inscription mardi 22 février 2011 Statut Membre Dernière intervention 25 mars 2011 4
22 févr. 2011 à 14:49
tu attends quoi exactement. Parce que sur le lien, l'algo est expliqué très clairement.
0
Le principe du tri par sélection est d'aller chercher le plus petit élément du vecteur pour le mettre en premier, puis de repartir du second élément et d'aller chercher le plus petit élément du vecteur pour le mettre en second, etc...
0
ccm81 Messages postés 10899 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 25 octobre 2024 2 422
Modifié par ccm81 le 24/02/2011 à 10:03
bonjour

le principe en un peu plus concret
en supposant que le tri est fait sur un tableau T et par ordre croissant

ex T = (8,5,4,1,2,7,6)

- à chaque etape (invariant de boucle) T se présente de la façon suivante

T = PDT suivi de PRT


- PDT est la Partie Deja Triée dont TOUS les elements sont inféreiurs ou égaux a ceux de PRT
- PRT est la Partie Restant a Trier (... dont TOUS les elements sont supérieurs ou égaux a ceux de PDT)

exemple ici (après 3 tours de boucle)
- PDT = (1,2,4)
- PRT = (8,5,7,6)

on cherche le plus petit element min de PRT (ici min = 5)
et on permute min avec le premier element de PRT (avec 8)

ce qui ajoute un element a PDT ( a droite) et enleve un element (min) a PRT
qui deviennent (pour le tour suivant)
PDT = (1,2,4,5)
PRT = (8,7,6)

- on arrete quand PRT ne contient qu'un element

- on commence avec PDT = vide et PRT = T

bonne suite
0
merci avec l 'exemple j'ai pu mieu saisir le principe
0