Spécialité NSI - Première

Écoconception logicielle : Impact énergétique des structures de données (Listes vs Dictionnaires)

1. Enjeu EDD : Le coût caché des structures inadaptées

En programmation, le choix d'une structure de données conditionne directement le nombre d'opérations exécutées par le processeur (CPU) et les accès à la mémoire vive (RAM). Pour un même service (comme la recherche d'une information dans un catalogue), une structure linéaire (type liste non triée) impose un parcours séquentiel lourd, tandis qu'une structure indexée (type dictionnaire ou table de hachage) offre un accès direct. Sur des volumes massifs, une mauvaise conception logicielle se traduit par une surconsommation électrique inutile des serveurs et une empreinte carbone alourdie.

2. Contexte du projet : Le catalogue de la médiathèque

On s'intéresse à la gestion d'une base de données bibliographique contenant n ouvrages. Un système de recherche de livres par identifiant unique (ISBN) est mis en place. On souhaite comparer deux implémentations en Python :

3. Travail demandé

  1. Implémentation de la recherche séquentielle : Écrire une fonction Python recherche_liste(catalogue, isbn_cherche) qui parcourt une liste pour trouver un ouvrage. Quel est le nombre d'opérations dans le pire des cas en fonction de n ?
  2. Implémentation par dictionnaire : Expliquer pourquoi l'accès direct via un dictionnaire Python catalogue_dict[isbn_cherche] s'affranchit de ce parcours séquentiel.
  3. Expérimentation et mesure : À l'aide du module time, écrire un script mesurant le temps nécessaire pour effectuer 1 000 recherches successives dans une liste de 50 000 éléments par rapport au même dictionnaire.
  4. Perspectives et discussion critique (EDD) : Un service web traite 10 millions de requêtes par jour. Si le passage d'une liste à un dictionnaire réduit le temps de traitement de 15 millisecondes à 0,1 milliseconde par requête, calculez le gain global de temps processeur par jour. En quoi l'écoconception algorithmique est-elle un levier pragmatique de transition numérique ?