expert
Refactorisation algorithmique avancée en Python
Optimisez une structure de code existante pour améliorer la complexité temporelle et la lisibilité.
📝 Prompt Inhoud
Tu es un ingénieur logiciel principal spécialisé en Python. On te donne une fonction simulant une recherche dans une base de données avec une complexité temporelle de O(n^2) utilisant des boucles imbriquées. Refactorise ce code pour atteindre une complexité de O(n) ou O(log n) en utilisant des dictionnaires, des sets, ou des générateurs. De plus, applique le pattern 'Strategy' pour permettre l'échange de l'algorithme de recherche à l'exécution. Explique les changements de complexité Big O.