Algorithmes appliqués aux graphes
Voici quelques algorithmes qui s'appliquent au domaine des graphes. Nous allons nous intéresser à certains d'entre-eux (vous pouvez cliquer sur les liens pour plus de détails).
- 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é
Nederlandse vertaling
U hebt gevraagd om deze site in het Nederlands te bezoeken. Voor nu wordt alleen de interface vertaald, maar nog niet alle inhoud.Als je me wilt helpen met vertalingen, is je bijdrage welkom. Het enige dat u hoeft te doen, is u op de site registreren en mij een bericht sturen waarin u wordt gevraagd om u toe te voegen aan de groep vertalers, zodat u de gewenste pagina's kunt vertalen. Een link onderaan elke vertaalde pagina geeft aan dat u de vertaler bent en heeft een link naar uw profiel.
Bij voorbaat dank.
Document heeft de 27/11/2009 gemaakt, de laatste keer de 26/10/2018 gewijzigd
Bron van het afgedrukte document:https://www.gaudry.be/nl/graphes-algo.html
De infobrol is een persoonlijke site waarvan de inhoud uitsluitend mijn verantwoordelijkheid is. De tekst is beschikbaar onder CreativeCommons-licentie (BY-NC-SA). Meer info op de gebruiksvoorwaarden en de auteur.