• Aucun résultat trouvé

TP : Tri par sélection

N/A
N/A
Protected

Academic year: 2022

Partager "TP : Tri par sélection"

Copied!
1
0
0

Texte intégral

(1)

Première NSI Mme Pierrot

Le tri par sélection

Thème :

• Les algorithmes de tri

• Notion de compléxité

Compétences à acquérir  :

• utilisation de boucles imbriquées

• savoir dérouler un algorithme pas à pas

Éléments d’information et exemples.

Sitographie :

Select-sort with Gypsy folk dance : https://www.youtube.com/watch?v=Ns4TPTC8whw&t=7s

Des animations pour comprendre les algorithmes de tri : http://lwh.free.fr/pages/algo/tri/tri.htm Doc.1 : Algorithme du tri par sélection

FONCTION tri_par_selection (liste)

POUR i VARIANT DE 0 à ………. FAIRE indicedumin PREND LA VALEUR i

POUR j VARIANT DE ………. À len(liste)-1 FAIRE SI liste(j) < liste(indicedumin) ALORS FAIRE indicedumin PREND LA VALEUR ……….

FINSI FINPOUR

……….

FINPOUR RENVOYER liste

Doc.2 : Tableau des valeurs à chaque étape

(juste après le FINSI)

i j indicedumin liste

Travail à réaliser

I- Programmation

1) Regarder la vidéo proposée sur YouTube qui illustre l’algorithme du tri par sélection 2) Compléter l’algorithme proposé dans le doc.1

3) Tester cet algorithme manuellement pour deux exemples de listes : [4, 5, 1, 3] puis une de votre choix.

4) Coder l’algorithme en Python.

5) Le tester avec une liste aléatoire de 50 entiers.

II- Notion de complexité

1) De la même façon que sur cette page : http://lwh.free.fr/pages/algo/tri/tri_selection.html lors du tri par sélection de tonneaux on compte le nombre de comparaisons et de déplacements effectués lors d’un tri des tonneaux, comptabiliser le nombre de comparaisons et de déplacements effectués lors d’un tri des listes de cinq nombres suivantes : [4,1,5,2,3]  ; [1,2,3,4,5]  ; [5,4,3,2,1]

2) Que remarque-t-on pour le nombre de comparaisons ? Quelle est la meilleur configuration initiale ? La pire ? Pourquoi ?

3) Pour cet algorithme on parle d’une complexité en Θ(n2) … sauriez-vous dire pourquoi ?

Références

Documents relatifs

tecteur; au stade du tri approfondi, niveau FRD létalité, que la radioprotection apportée était confirmée et de l’ordre de celle de l’AET. Ce résultat est

Principe du diviser pour régner : on divise la liste par deux jusqu’à obtenir une liste de longueur unitaire (ou nulle) facile à classer. On utilise une autre fonction pour

Le tri par insertion est quant à lui très utilisé pour des listes de petites tailles (presque déjà triées). C’est le cas de la méthode sort sur python qui utilise

Soit C n le nombre moyen de comparaisons effectuées par l’algorithme de tri rapide (voir algo- rithme 1) sur un tableau uniformément distribué de taille

Le fonctionnement de cette fonction (qui prend en paramètre un tableau et sa taille pour renvoyer l'indice de l'élément le plus grand) est simple : on se contente de

Vous trouverez dans le fichier lance_tests.py les commandes permettant de générer les douze combinaisons possibles (quatre méthodes pour générer un tableau, trois fonctions de

Tri

Tri