Définitions & Concepts
Algorithme + Données = Programme
Combinaison pour résoudre des problèmes
Algorithme : Suite d'instructions
Données : Informations traitées
Traitement : Manipulation des données
Exemple de combinaison :
Tableau [1, 5, 3, 8] → Tri bulle → Tableau trié [1, 3, 5, 8]
Règle fondamentale :
Le bon algorithme pour la bonne structure de données
Structures de données
Tableaux : Accès indexé rapide
Listes chaînées : Insertion/suppression efficace
Piles : LIFO (Last In First Out)
Files : FIFO (First In First Out)
Arbres : Hiérarchie et recherche rapide
Formules de complexité
Notation O :
O(n) = Linéaire, O(log n) = Logarithmique, O(n²) = Quadratique
Exemple : Recherche linéaire = O(n)
Exemple : Recherche linéaire = O(n)
Algorithmes & Optimisation
Recherche : Linéaire, dichotomique
Tri : Bulle, insertion, fusion
Efficacité : Temps vs mémoire
Complexité : Analyse asymptotique
Boucles : Itération sur données
Bonnes pratiques
Règle de choix optimal :
Choisir la structure de données adaptée au type d'opérations fréquentes
Analyse de performance :
Évaluer la complexité temporelle et spatiale
Documentation :
Commenter les choix algorithmiques et structurels