Analyse de complexité: Décrire comment le temps d'exécution ou la mémoire d'un algorithme croît avec la taille des données, en utilisant le grand O.
Mène à
Listes chaînées: Des nœuds dispersés en mémoire, chacun pointant vers le suivant, échangeant un accès indexé rapide contre une insertion peu coûteuse.
Recherche binaire: Diviser en deux, de façon répétée, une plage triée pour trouver une cible en temps logarithmique.
Tris par comparaison élémentaires: Les tris simples en O(n carré), à bulles, par insertion, par sélection, qui comparent et échangent des paires d'éléments.
Représentations de graphes: Stocker les sommets et arêtes d'un graphe sous forme de matrice d'adjacence ou de liste d'adjacence.
Arbres de Fenwick: Une structure compacte basée sur un tableau qui répond à des requêtes de somme préfixe en temps logarithmique.
Deux pointeurs: Faire avancer deux indices à travers une séquence en même temps pour éviter une boucle imbriquée.
Algorithmes de recherche de motifs: Trouver toutes les occurrences d'un motif dans un texte plus grand plus rapidement qu'en vérifiant chaque position.
Notions liées
Deux pointeurs: Faire avancer deux indices à travers une séquence en même temps pour éviter une boucle imbriquée.
Recherche binaire: Diviser en deux, de façon répétée, une plage triée pour trouver une cible en temps logarithmique.