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é :
  • Divers
  • Cryptologie
  • Axiomes
  • Matrices
  • Graphes 
    • Parcourir un graphe
    • 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 Ordre de grandeur(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 Ordre de grandeur(n2).
      • Algorithme de Moore-Dijkstra (circuits nécessaires, poids positifs ou nuls), complexité de Ordre de grandeur(n2).
      • Algorithme de Ford-Bellman (avec ou sans circuits, détection de circuits absorbants, poids quelconques), complexité de Ordre de grandeur(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é
      • Construire les composantes simplement connexes d'un graphe (via DFS), complexité de Ordre de grandeur(m+n).
      • Construire les composantes fortement connexes d'un graphe
      • Décomposer en niveaux. (sans circuit), complexité de Ordre de grandeur(n2).
      • Aide à la décision multicritère : ELECTRE

English translation

You have asked to visit this site in English. For now, only the interface is translated, but not all the content yet.

If you want to help me in translations, your contribution is welcome. All you need to do is register on the site, and send me a message asking me to add you to the group of translators, which will give you the opportunity to translate the pages you want. A link at the bottom of each translated page indicates that you are the translator, and has a link to your profile.

Thank you in advance.

Document created the 13/12/2009, last modified the 26/10/2018
Source of the printed document:https://www.gaudry.be/en/programmer-algo.html

The infobrol is a personal site whose content is my sole responsibility. The text is available under CreativeCommons license (BY-NC-SA). More info on the terms of use and the author.

Notes
  1.  ARPM : Arbre Recouvrant de Poids Minimum

  2.  ACM : Arbre Couvrant Minimum

Contents Haut