Liste : Structure de données dynamique qui stocke une séquence d'éléments ordonnés et modifiables.
- Initialiser une liste vide avec []
- Créer une liste avec des éléments prédéfinis
- Ajouter des éléments avec des méthodes (append, insert)
- Accéder aux éléments par leur indice
│ 0 │ 1 │ 2 │ 3 │ 4 │ ← Indices
├─────┼─────┼─────┼─────┼─────┤
│ 12 │ 15 │ 8 │ 18 │ 14 │ ← Valeurs
└─────┴─────┴─────┴─────┴─────┘
Liste "notes" avec 5 éléments
Utiliser des crochets pour initialiser une liste vide ou avec des éléments
Utiliser des indices de 0 à n-1 pour accéder aux éléments
Ajouter, supprimer ou modifier des éléments selon les besoins
Liste créée et initialisée avec des valeurs accessibles par indice
• Indices : Commencent à 0 et vont jusqu'à taille-1
• Dynamique : La taille peut changer pendant l'exécution
• Hétérogène : Peut contenir des éléments de types différents
Accès aux éléments : Opération qui permet de lire ou modifier la valeur d'un élément à un indice donné.
│ 0 │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ ← Indices
├─────┼─────┼─────┼─────┼─────┼─────┼─────┤
│18.5 │ 20.0│ 22.5│ 19.8│ 21.1│ 23.5│ 20.9│ ← Valeurs
└─────┴─────┴─────┴─────┴─────┴─────┴─────┘
Liste "temperatures" après modification de l'indice 2
Utiliser l'indice pour accéder à la valeur : temperatures[2]
Affecter une nouvelle valeur à l'indice : temperatures[2] ← 22.5
Utiliser une boucle pour accéder à tous les éléments
Capacité à lire et modifier n'importe quel élément de la liste
• Accès direct : O(1) - temps constant pour accéder à un élément
• Indices valides : Vérifier que l'indice est dans les bornes
• Modification : Peut être faite directement par affectation
Somme d'une liste : Calcul de la somme de tous les éléments en parcourant la liste avec une boucle.
Créer une variable resultat initialisée à 0
Utiliser une boucle pour accéder à chaque élément
Additionner chaque élément à l'accumulateur
La fonction retourne la somme de tous les éléments de la liste
• Initialisation : Toujours initialiser l'accumulateur à 0
• Parcours complet : Visiter tous les éléments de la liste
• Accumulation : Ajouter chaque élément à l'accumulateur
Maximum/minimum : Algorithmes qui trouvent la plus grande ou la plus petite valeur dans une liste.
│ 0 │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ ← Indices
├─────┼─────┼─────┼─────┼─────┼─────┼─────┤
│ 5 │ 12 │ 3 │ 18 │ 7 │ 1 │ 15 │ ← Valeurs
└─────┴─────┴─────┴─────┴─────┴─────┴─────┘
Maximum: 18 (indice 3), Minimum: 1 (indice 5)
Prendre liste[0] comme valeur de référence
Commencer à l'indice 1 pour comparer avec la référence
Remplacer la valeur si un nouvel extremum est trouvé
Algorithmes qui trouvent le maximum et le minimum en O(n) opérations
• Initialisation : Commencer avec le premier élément
• Comparaison : Comparer chaque élément avec l'extrémum actuel
• Mise à jour : Remplacer l'extrémum quand un meilleur est trouvé
Tri par sélection : Algorithme qui trie une liste en trouvant successivement le minimum et en le plaçant au début.
Pour chaque position i, chercher le minimum dans le reste
Parcourir les éléments de i+1 à n-1 pour trouver le plus petit
Placer le minimum trouvé à la position i
Liste triée dans l'ordre croissant en O(n²) opérations
• Itération : Pour chaque position, placer l'élément correct
• Recherche : Trouver le minimum dans la partie non triée
• Échange : Intervertir les éléments pour placer le minimum