libin103 1.4
Bibliothèque de structures de données en C
Chargement...
Recherche...
Aucune correspondance
integer_graphalg.h
Aller à la documentation de ce fichier.
1
13/*****************************************************************************
14* *
15* ------------------------------ graphalg.h ------------------------------ *
16* *
17*****************************************************************************/
18
19#ifndef __integer_GRAPHALG_H__
20#define __integer_GRAPHALG_H__
21
22#include "graph.h"
23#include "list.h"
24
25/* For Kruskal's algorithm */
31typedef struct {
32 int source;
34 double weight;
35} we_t;
36
37/* For Dijkstra's algorithm */
43typedef struct {
44 int vertex;
45 double distance;
46 int parent;
47} ed_t;
48
49
50/*****************************************************************************
51* *
52* --------------------------- Public Interface --------------------------- *
53* *
54*****************************************************************************/
55
56/* Depth-first search */
75 int start,
76 integer_list_t *ordered);
77
95 integer_list_t *ordered);
96
97/* Breadth-first search */
116 int start,
117 integer_list_t *ordered);
118
136 integer_list_t *ordered);
137
138/* Toplogical sort */
154
155/* Implementation of Kruskal's algorithm */
173
174/* Implementation of Dijkstra's algorithm */
195int integer_shortest(integer_graph_t *graph, int start, generic_list_t **paths);
196
197/* Implementation of Edmonds-Karp's algorithm */
221int integer_maxflow(integer_graph_t *graph, int source, int target,
222 double*** localflows, double *flow);
223
224#endif
Fichier en-tête pour les graphes.
int integer_dfs(integer_graph_t *graph, int start, integer_list_t *ordered)
Parcours en profondeur d'abord d'un graphe dont les noeuds contiennent des valeurs de type int
int integer_bfs(integer_graph_t *graph, int start, integer_list_t *ordered)
Parcours en largeur d'abord d'un graphe dont les noeuds contiennent des valeurs de type int
int integer_maxflow(integer_graph_t *graph, int source, int target, double ***localflows, double *flow)
Calcul du flot maximal d'un sommet source vers un sommet destination d'un graphe dont les noeuds cont...
int integer_bfs_all(integer_graph_t *graph, integer_list_t *ordered)
Parcours en largeur d'abord d'un graphe dont les noeuds contiennent des valeurs de type int
int integer_dfs_all(integer_graph_t *graph, integer_list_t *ordered)
Parcours en profondeur d'abord d'un graphe dont les noeuds contiennent des valeurs de type int
int integer_ts(integer_graph_t *graph, integer_list_t *ordered)
Effectue un tri topologique d'un graphe dont les noeuds contiennent des valeurs de type int
int integer_mst(integer_graph_t *graph, generic_list_t **span)
Calcul de l'arbre couvrant de poids minimal d'un graphe dont les noeuds contiennent des valeurs de ty...
int integer_shortest(integer_graph_t *graph, int start, generic_list_t **paths)
Calcul du plus court chemin d'un sommet source vers tous les autres avec un cout minimal d'un graphe ...
Fichier en-tête pour les listes simplement chaînée.
Type de données internes pour l'algorithme de de plus courts chemins. Cette structure de données est ...
Definition integer_graphalg.h:43
int vertex
Definition integer_graphalg.h:44
double distance
Definition integer_graphalg.h:45
int parent
Definition integer_graphalg.h:46
Type de données pour représenter une liste chainée contenant des void*
Definition generic_list.h:49
Type de données pour représenter un graphe comme une liste d'adjacence.
Definition integer_graph.h:65
Type de données pour représenter une liste chainée contenant des int
Definition integer_list.h:42
Type de données internes pour l'algorithme de de forêt couvrante de poids minimal....
Definition integer_graphalg.h:31
int source
Definition integer_graphalg.h:32
int destination
Definition integer_graphalg.h:33
double weight
Definition integer_graphalg.h:34