06 — La Bibliothèque
Algorithmes : Tri par sélection + Recherche dichotomique Difficulté : Moyen Durée estimée : 1h — 1h15
Contexte
Vous gérez le catalogue d'une bibliothèque. Les livres doivent être triés par titre alphabétique pour qu'on puisse les retrouver rapidement. Vous utiliserez le tri par sélection pour trier, et la dichotomie pour chercher.
Étapes
Étape 1 — Trier par titre
Implémentez tri_selection_livres(livres) qui trie par "titre" (ordre alphabétique).
Rappel : en Python,
"Alice" < "Zorro"→True. Vous pouvez comparer des chaînes directement.
Étape 2 — Recherche dichotomique
Implémentez rechercher_titre(livres_tries, titre) qui retourne le livre si trouvé, None sinon.
Attention : la comparaison doit être exacte (majuscules comprises). Pour simplifier, tout est déjà en minuscules dans les données.
Étape 3 — Affichage enrichi
Implémentez afficher_fiche(livre) qui affiche toutes les informations d'un livre de façon lisible (titre, auteur, année, genre, pages).
Étape 4 — Statistiques
Ajoutez une fonction statistiques(livres) qui affiche :
- Le nombre de livres
- Le livre le plus court et le plus long (en pages)
- La moyenne de pages
Indication : une fois la liste triée par titre, vous pouvez utiliser une boucle simple pour les stats. Ou bien trier une copie par pages avec votre tri !
Étape 5 — Extension (si vous avez le temps)
Ajoutez la possibilité de trier aussi par année ou par nombre de pages, et de rechercher tous les livres d'un même auteur (recherche linéaire cette fois — pourquoi ne peut-on pas utiliser la dichotomie ici ?).
Ce que vous devez rendre
- Le programme fonctionnel
- Réponse : pour chercher tous les livres d'un auteur, pourquoi la dichotomie est-elle inadaptée ?
Dernière mise à jour : 07/07/2026