01e Fiche méthode - Recherche dans un tableau
🔍 Rechercher une valeur (version 1)
⚓︎
Activité n° 1 : Énoncé
Rechercher une note donnée dans un tableau Liste de dimension n.
Retourner True si elle est présente, sinon False.
📌 Exemple :
- Liste 1 :
5 14 18 11 10 12 10 9 16→ ✅ 12 est présente - Liste 2 :
5 14 18 11 10 11 10 9 16→ ❌ 12 n'est pas présente
🔒 Pré-condition : les valeurs sont comprises entre 0 et 20 inclus, et la liste contient au moins 2 éléments.
✅ Post-condition : un booléen (True ou False) est retourné.
def rechercheNote(Liste, note):
for i in range(len(Liste)):
if Liste[i] == note:
return True
return False
print(rechercheNote([5, 14, 18, 11, 10, 12, 10, 9, 16], 12)) # True
print(rechercheNote([5, 14, 18, 11, 10, 11, 10, 9, 16], 12)) # False
Python
📊 Complexité : 𝑶(n) → on parcourt toute la liste dans le pire des cas.
🔁 Rechercher une valeur (version 2)
⚓︎
Activité n° 2 : Énoncé
Même objectif que l’activité précédente, mais cette fois avec une boucle while :
def rechercheNote(Liste, note):
trouve = False
i = 0
while not trouve and i < len(Liste):
if Liste[i] == note:
trouve = True
i += 1
return trouve
print(rechercheNote([5, 14, 18, 11, 10, 12, 10, 9, 16], 12)) # True
print(rechercheNote([5, 14, 18, 11, 10, 11, 10, 9, 16], 12)) # False
Python
📌 Avantage de while :
➡️ le programme peut s'arrêter plus tôt si la valeur est trouvée dès le début.
📊 Complexité : 𝑶(n) dans le pire des cas.
📈 Rechercher la valeur maximale
⚓︎
Activité n° 3 : Énoncé
Objectif : retourner la plus grande valeur dans une liste.
📌 Exemple :
Liste : 5 14 18 11 10 12 10 9 16 → Max = 18
def maxNote(Liste):
maxi = Liste[0]
for i in range(1, len(Liste)):
if Liste[i] > maxi:
maxi = Liste[i]
return maxi
print(maxNote([5, 14, 18, 12, 10, 10, 9, 16])) # 18
Python
📊 Complexité : 𝑶(n) ➡️ Il faut parcourir toute la liste.
📉 Rechercher la valeur minimale
⚓︎
Activité n° 4 : Énoncé
📌 Exemple :
Liste : 5 14 18 11 10 12 10 9 16 → Min = 5
def minNote(Liste):
mini = Liste[0]
for i in range(1, len(Liste)):
if Liste[i] < mini:
mini = Liste[i]
return mini
print(minNote([14, 18, 12, 10, 5, 10, 9, 16])) # 5
Python
📊 Complexité : 𝑶(n)
📊 Calculer la moyenne d’un tableau
⚓︎
Activité n°5 : Énoncé
📌 Exemple :
Liste : 14 18 12 10 5 10 9 16 → Moyenne ≈ 11.75
def moyenneNote(Liste):
somme = 0
for elmt in Liste:
somme += elmt
return somme / len(Liste)
print(moyenneNote([14, 18, 12, 10, 5, 10, 9, 16])) # 11.75
Python
📊 Complexité : 𝑶(n)
💡 À retenir :
| Tâche | Algo utilisé | Complexité |
|---|---|---|
| Rechercher une valeur (for/while) | linéaire | 𝑶(n) |
| Trouver le max | linéaire | 𝑶(n) |
| Trouver le min | linéaire | 𝑶(n) |
| Calculer la moyenne | linéaire | 𝑶(n) |
Pour s'entrainer par ordre de dificulté croissante :