Algorithmes en programmation
Voici quelques liens relatifs aux algorithmes :
- Paradigmes :
- diviser pour régner (diviser la complexité ou le nombre de données à traiter)
- programmation dynamique (mémoïsation : éviter de recalculer les mêmes valeurs en mémorisant le résultat)
- algorithmes gloutons (résolution locale de petits problèmes de manière optimale)
- Générer et tester
- Branch and bound (utilisation de bornes, élaguage d'une partie de l'arbre)
- analyse amortie (mesure de la robustesse dans le pire des cas)
- Complexité :
- Tri par échanges (exchange sort ou bubble sort)
- Tri par sélection (selection sort)
- Tri par insertion (insertion sort)
- Tri Shell (shell sort), amélioration du tri par insertions
- Tri par tas (heap sort)
- Tri par fusion (merge sort)
- Tri rapide (quick sort)
- Divers
- Cryptologie
- Axiomes
- Matrices
- Graphes
- Parcourir un graphe
- Parcours en profondeur d'abord : Algorithme DFS (Depth First Search), complexité de (m), et de (n2) dans le pire des cas.
- Algorithme DFS de Tarjan
- Algorithme de Malgrange basé sur DFS
- Parcours en largeur d'abord : Algorithme BFS (Breadth First Search), complexité de (m).
- Implémentation de BFS par Linden
- Parcours en largeur lexicographique : Algorithme Lex-BFS (Lexicographic Breadth First Search
- Parcours en profondeur d'abord : Algorithme DFS (Depth First Search), complexité de (m), et de (n2) dans le pire des cas.
- Chemins et circuits
- Détecter la simple présence d'un chemin entre 2 sommets
- Détecter un chemin de longueur déterminée entre 2 sommets
- Calculer le nombre de longueur déterminée (>1) entre 2 sommets
- Calculer la matrice M ou M' : Algorithme de Warshall, complexité de (n3).
- Détecter un circuit dans un graphe
- Détecter un circuit passant par un sommet donné
- Détecter un circuit passant par un arc donné
- Rechercher un ou plusieurs chemins extrémaux des graphes pondérés (les plus courts ou les plus longs)
- Algorithme de Bellman-Kalaba (pas de circuits), complexité de (n2).
- Algorithme de Moore-Dijkstra (circuits nécessaires, poids positifs ou nuls), complexité de (n2).
- Algorithme de Ford-Bellman (avec ou sans circuits, détection de circuits absorbants, poids quelconques), complexité de (n3).
- Heusistique A* (avec ou sans circuits, bornes, et sommet destination pré-déterminé)
- Algorithme de Floyd-Warshall (accepte les poids négatifs, mais pas de cycle strictement négatif)
- Algorithme de Ford-Dantzig (graphe orienté, avec ou sans circuit, poids positifs et négatifs)
- Arbres couvrant (ARPM1, ou ACM2)
- Algorithme de Kruskal (graphe connexe, valué, non orienté)
- Algorithme de Prim (graphe connexe, valué, non orienté)
- Flux extémaux (minimum ou maximum)
- Algorithme de Ford-Fulkerson
- Algorithme de Edmonds-Karp
- Algorithme de flux bloquant de Dinitz
- Divers
- Construire la fermeture transitive d'un graphe orienté ou non orienté
- Algorithme de Warshall, complexité de (n3).
- Algorithme de Minoux (sans circuit), complexité entre (n3) et (∑dintj . dextj) (Minoux et Bartnik).
- Construire les composantes simplement connexes d'un graphe (via DFS), complexité de (m+n).
- Construire les composantes fortement connexes d'un graphe
- Algorithme de Foulkes, complexité de (n3).
- Algorithme de Malgrange, complexité de (m * nombre d'exécutions), de (n3) dans le pire des cas.
- Décomposer en niveaux. (sans circuit), complexité de (n2).
- Aide à la décision multicritère : ELECTRE
- Construire la fermeture transitive d'un graphe orienté ou non orienté
- Parcourir un graphe
Version en cache
21/11/2024 10:00:08 Cette version de la page est en cache (à la date du 21/11/2024 10:00:08) afin d'accélérer le traitement. Vous pouvez activer le mode utilisateur dans le menu en haut pour afficher la dernère version de la page.Document créé le 13/12/2009, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/programmer-algo.html
L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.