Mini-projets algorithmique, corrigé TP KNN, news, notebooks IA
This commit is contained in:
49
algorithmes/mini-projets/03_podium/sujet.md
Normal file
49
algorithmes/mini-projets/03_podium/sujet.md
Normal file
@@ -0,0 +1,49 @@
|
||||
# 03 — Le Podium
|
||||
|
||||
**Algorithme :** Tri par sélection
|
||||
**Difficulté :** Facile
|
||||
**Durée estimée :** 45 min — 1h
|
||||
|
||||
---
|
||||
|
||||
## Contexte
|
||||
|
||||
Vous gérez le classement d'une compétition de sprint. Vous devez trier les athlètes par **temps croissant** (le plus rapide en premier) et afficher le podium.
|
||||
|
||||
Le tri par sélection fonctionne comme un vrai classement : à chaque étape, on cherche le meilleur parmi tous les restants et on le place en tête.
|
||||
|
||||
---
|
||||
|
||||
## Étapes
|
||||
|
||||
### Étape 1 — Implémenter `tri_selection_athletes(athletes)`
|
||||
La liste `athletes` contient des dictionnaires `{"nom": ..., "pays": ..., "temps": ...}`.
|
||||
Il faut trier par `temps` croissant (le plus petit temps = le plus rapide).
|
||||
|
||||
> **Indication** : dans le tri par sélection, au lieu de comparer `tab[j] < tab[mini]`, vous comparerez `athletes[j]["temps"] < athletes[mini]["temps"]`.
|
||||
|
||||
### Étape 2 — Afficher le podium
|
||||
Implémentez `afficher_podium(athletes_tries)` qui affiche les 3 premiers avec un podium en ASCII.
|
||||
|
||||
```
|
||||
1er
|
||||
+---+ 2e 3e
|
||||
| | +---+ +---+
|
||||
| 1 | | 2 | | 3 |
|
||||
| | | | | |
|
||||
+---+ +---+ +---+
|
||||
Alice (FR) Bob (USA) Carla (BR)
|
||||
9.85 s 9.91 s 9.97 s
|
||||
```
|
||||
|
||||
### Étape 3 — Recherche dichotomique
|
||||
Après le tri, créez une liste des temps uniquement. Implémentez `temps_atteint(temps_liste, t)` qui utilise la dichotomie pour dire si un temps exact a été réalisé lors de la compétition.
|
||||
|
||||
### Étape 4 — Extension (si vous avez le temps)
|
||||
Affichez aussi le classement complet sous forme de tableau numéroté.
|
||||
|
||||
---
|
||||
|
||||
## Ce que vous devez rendre
|
||||
- Le programme qui trie et affiche le podium
|
||||
- Réponse : pourquoi le tri par sélection fait-il **moins de déplacements** que le tri par insertion ?
|
||||
Reference in New Issue
Block a user