SimGrid
|
A graph data type with several interesting algorithms. More...
Functions | |
xbt_graph_t | xbt_graph_new_graph (unsigned short int directed, void *data) |
Constructor. | |
xbt_node_t | xbt_graph_new_node (xbt_graph_t g, void *data) |
add a node to the given graph | |
xbt_edge_t | xbt_graph_new_edge (xbt_graph_t g, xbt_node_t src, xbt_node_t dst, void *data) |
add an edge to the given graph | |
void | xbt_graph_edge_set_length (xbt_edge_t e, double length) |
Set the weight of the given edge. | |
double * | xbt_graph_get_length_matrix (xbt_graph_t g) |
construct the adjacency matrix corresponding to the given graph | |
void | xbt_graph_free_node (xbt_graph_t g, xbt_node_t n, void_f_pvoid_t node_free_function, void_f_pvoid_t edge_free_function) |
remove the given node from the given graph | |
void | xbt_graph_free_edge (xbt_graph_t g, xbt_edge_t e, void_f_pvoid_t free_function) |
remove the given edge from the given graph | |
void | xbt_graph_free_graph (xbt_graph_t g, void_f_pvoid_t node_free_function, void_f_pvoid_t edge_free_function, void_f_pvoid_t graph_free_function) |
Destructor. | |
xbt_dynar_t | xbt_graph_get_nodes (xbt_graph_t g) |
Retrieve the graph's nodes as a dynar. | |
xbt_dynar_t | xbt_graph_get_edges (xbt_graph_t g) |
Retrieve the graph's edges as a dynar. | |
xbt_dynar_t | xbt_graph_node_get_outedges (xbt_node_t n) |
Retrieve the outgoing edges of the given node. | |
xbt_node_t | xbt_graph_edge_get_source (xbt_edge_t e) |
Retrieve the node at the source of the given edge. | |
xbt_node_t | xbt_graph_edge_get_target (xbt_edge_t e) |
Retrieve the node being the target of the given edge. | |
void | xbt_graph_export_graphviz (xbt_graph_t g, const char *filename, const char *(node_name)(xbt_node_t), const char *(edge_name)(xbt_edge_t)) |
Export the given graph in the GraphViz formatting for visualization. | |
void | xbt_graph_export_graphxml (xbt_graph_t g, const char *filename, const char *(node_name)(xbt_node_t), const char *(edge_name)(xbt_edge_t), const char *(node_data_print)(void *), const char *(edge_data_print)(void *)) |
Export the given graph in the GraphXML format. | |
xbt_graph_t | xbt_graph_load (const char *filename) |
Load a graph from a file (in the SimGrid Graph format) | |
void | xbt_graph_save (xbt_graph_t span, const char *filename, const char *(nname)(xbt_node_t), const char *(ename)(xbt_edge_t)) |
Save a graph from a file (in the SimGrid Graph format) | |
xbt_node_t * | xbt_graph_shortest_paths (xbt_graph_t g) |
computes all-pairs shortest paths | |
xbt_node_t * | xbt_graph_topo_sort (xbt_graph_t g) |
transforms the network structure of a directed acyclic graph given into a linear structure | |
xbt_edge_t * | xbt_graph_spanning_tree_prim (xbt_graph_t g) |
Extract a spanning tree of the given graph. |
A graph data type with several interesting algorithms.
xbt_graph_t xbt_graph_new_graph | ( | unsigned short int | directed, |
void * | data | ||
) |
Constructor.
double* xbt_graph_get_length_matrix | ( | xbt_graph_t | g | ) |
construct the adjacency matrix corresponding to the given graph
The weights are the distances between nodes
void xbt_graph_free_node | ( | xbt_graph_t | g, |
xbt_node_t | n, | ||
void_f_pvoid_t | node_free_function, | ||
void_f_pvoid_t | edge_free_function | ||
) |
remove the given node from the given graph
void xbt_graph_free_edge | ( | xbt_graph_t | g, |
xbt_edge_t | e, | ||
void_f_pvoid_t | free_function | ||
) |
remove the given edge from the given graph
void xbt_graph_free_graph | ( | xbt_graph_t | g, |
void_f_pvoid_t | node_free_function, | ||
void_f_pvoid_t | edge_free_function, | ||
void_f_pvoid_t | graph_free_function | ||
) |
Destructor.
g,: | poor victim |
node_free_function,: | function to use to free data associated to each node |
edge_free_function,: | function to use to free data associated to each edge |
graph_free_function,: | function to use to free data associated to g |
Free the graph structure.
xbt_node_t* xbt_graph_topo_sort | ( | xbt_graph_t | g | ) |
transforms the network structure of a directed acyclic graph given into a linear structure
transforms the network structure of a directed acyclic graph given into a linear structure
From wikipedia:
In graph theory, a topological sort of a directed acyclic graph (DAG) is a linear ordering of its nodes which is compatible with the partial order R induced on the nodes where x comes before y (xRy) if there's a directed path from x to y in the DAG. An equivalent definition is that each node comes before all nodes to which it has edges. Every DAG has at least one topological sort, and may have many.
Back to the main Simgrid Documentation page |
The version of Simgrid documented here is v3.6.1. Documentation of other versions can be found in their respective archive files (directory doc/html). |
Generated for SimGridAPI by
![]() |