CL-Graph is a Common Lisp library for manipulating graphs and running graph algorithms.
*dot-graph-attributes* |
---|
get-transitive-closure | Given a list of vertices, returns a combined list of all of the nodes |
---|---|
map-paths | Apply fn to each path that starts at start-vertex and is of exactly length |
map-shortest-paths | Apply fn to each shortest path starting at |
print-dot-key-value |
add-edge | Add-edge adds an existing edge to a graph. As |
---|---|
add-edge-between-vertexes | Adds an edge between two vertexes and returns it. |
add-vertex | Adds a vertex to a graph. If called with a vertex, |
adjacentp | Return true if vertex-1 and vertex-2 are connected |
any-undirected-cycle-p | Returns true if there are any undirected cycles in |
child-vertexes | Returns a list of the vertexes to which |
connected-component-count | Returns the number of connected-components of |
connected-components | Returns a union-find-container representing the |
connected-graph-p | Returns true if graph is a connected graph and nil otherwise. |
delete-all-edges | Delete all edges from `graph'. Returns the graph.. |
delete-edge | Delete the |
delete-edge-between-vertexes | Finds an edge in the graph between the two |
delete-vertex | Remove a vertex from a graph. The 'vertex-or-value' |
depth | Returns the maximum depth of the vertexes in graph |
dfs | |
dfs-back-edge-p | |
dfs-edge-type | |
dfs-tree-edge-p | |
directed-edge-p | Returns true if-and-only-if edge is directed |
dot-attribute-value | |
edge->dot | Used by graph->dot to output edge formatting for |
edge-count | Returns the number of edges attached to |
edge-lessp-by-direction | Returns true if and only if edge-1 is undirected and edge-2 is directed. |
edge-lessp-by-weight | Returns true if the weight of edge-1 is strictly less than the weight of edge-2. |
edges | Returns a list of the edges of |
find-connected-components | Returns a list of sub-graphs of |
find-edge | Search |
find-edge-between-vertexes | Searches |
find-edge-between-vertexes-if | Finds and returns an edge between value-or-vertex-1 |
find-edge-if | Returns the first edge in |
find-edges-if | Returns a list of edges in |
find-vertex | Search 'graph' for a vertex with element |
find-vertex-if | Returns the first vertex in |
find-vertexes-if | Returns a list of vertexes in |
force-undirected | Ensures that the graph is undirected (possibly by |
generate-directed-free-tree | Returns a version of graph which is a directed free |
graph->dot | Generates a description of |
graph->dot-external | |
graph->dot-properties | Unless a different graph-formatter is specified, |
graph-roots | Returns a list of the roots of graph. A root is |
has-children-p | In a directed graph, returns true if vertex has any |
has-parent-p | In a directed graph, returns true if vertex has any |
height-in-pixels | |
in-cycle-p | Returns true if |
in-undirected-cycle-p | Return true if-and-only-if an undirected cycle in |
iterate-edges | Calls |
iterate-neighbors | Calls fn on every vertex adjecent to vertex See |
iterate-parents | Calls fn on every vertex that is either connected |
iterate-source-edges | In a directed graph, calls |
iterate-target-edges | In a directed graph, calls |
iterate-vertexes | Calls |
make-filtered-graph | Takes a GRAPH and a TEST-FN (a single argument |
make-graph | Create a new graph of type `graph-type'. Graph type |
make-graph-from-vertexes | Create a new graph given a list of vertexes (which |
make-vertex-edges-container | Called during the initialization of a vertex to |
make-vertex-for-graph | Creates a new vertex for graph |
minimum-spanning-tree | Returns a minimum spanning tree of graph if one exists and nil otherwise. |
neighbor-vertexes | Returns a list of the vertexes to which |
number-of-neighbors | Returns the number of neighbors of |
other-vertex | Assuming that the value-or-vertex corresponds to |
out-edge-for-vertex-p | Returns true if the edge is connected to vertex and |
parent-vertexes | Returns a list of the vertexes to which |
project-bipartite-graph | Creates the unimodal bipartite projects of |
renumber-edges | Assign a number to each edge in a graph in some |
renumber-vertexes | Assign a number to each vertex in a graph in some |
replace-vertex | Replace vertex |
rootp | Returns true if |
search-for-vertex | Search 'graph' for a vertex with element |
source-edge-count | Returns the number of source edges of |
source-edges | Returns a list of the source edges of |
source-vertex | Returns the source-vertex of a directed |
subgraph-containing | Returns a new graph that is a subset of |
tag-all-edges | Sets the |
tagged-edge-p | Returns true if-and-only-if edge's tag slot is t |
target-edge-count | Returns the number of target edges of |
target-edges | Returns a list of the target edges of |
target-vertex | Returns the target-vertex of a directed |
topological-sort | Returns a list of vertexes sorted by the depth from |
undirected-edge-p | Returns true if-and-only-if edge is undirected |
untag-all-edges | Sets the |
untagged-edge-p | Returns true if-and-only-if edge's tage slot is nil |
vertex->dot | Unless a different vertex-formatter is specified |
vertex-count | Returns the number of vertexes in |
vertexes | Returns a list of the vertexes of |
vertices-share-edge-p | Return true if vertex-1 and vertex-2 are connected |
width-in-pixels |
with-changing-vertex | This is used to maintain consistency when changing the value of vertex elements while iterating o... |
---|