CL-Graph is a Common Lisp library for manipulating graphs and running graph algorithms.
| edge-error | This is the root condition for graph errors that have to do with edges. |
|---|---|
| graph-edge-not-found-error | This condition is signaled when an edge cannot be found in a graph. |
| graph-error | This is the root condition for errors that occur while running code in CL-Graph. |
| graph-vertex-not-found-error | This condition is signaled when a vertex can not be found in a graph. |
| graph-vertex-not-found-in-edge-error | This condition is signaled when a vertex can not be found in an edge. |
| basic-edge | This is the root class for all edges in CL-Graph. |
|---|---|
| basic-graph | This is the root class for all graphs in CL-Graph. |
| basic-vertex | This is the root class for all vertexes in CL-Graph. |
| directed-edge-mixin | This mixin class is used to indicate that an edge is directed. |
| dot-attributes-mixin | |
| dot-directed-edge | |
| dot-edge | |
| dot-edge-mixin | |
| dot-graph | |
| dot-graph-mixin | |
| dot-vertex | |
| dot-vertex-mixin | |
| graph-container | A graph container is essentially an adjacency list graph representation [?? The Bad name comes fr... |
| graph-container-directed-edge | A graph-container-directed-edge is both a directed-edge-mixin and a graph-container-edge. |
| graph-container-edge | This is the root class for edges in graph-containers. It adds vertex-1 and vertex-2 slots. |
| graph-container-vertex | A graph container vertex keeps track of its edges in the the vertex-edges slot. The storage for t... |
| graph-matrix | Stub for matrix based graph. Not implemented. |
| graph-matrix-edge | Stub for matrix based graph. Not implemented. |
| graph-matrix-vertex | Stub for matrix based graph. Not implemented. |
| weighted-edge | A weighted edge is both a weighted-edge-mixin and a graph-container-edge. |
| weighted-edge-mixin | This mixin class adds a |
| *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 is generally more natural... |
|---|---|
| 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, then this vertex is added. If called with a va... |
| adjacentp | Return true if vertex-1 and vertex-2 are connected by an edge. [?? compare with vertices-share-ed... |
| 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 graph. |
| connected-components | Returns a union-find-container representing the connected-components of |
| connected-graph-p | Returns true if graph is a connected graph and nil otherwise. |
| delete-all-edges | |
| delete-edge | Delete the |
| delete-edge-between-vertexes | Finds an edge in the graph between the two specified vertexes. If values (i.e., non-vertexes) are... |
| delete-vertex | Remove a vertex from a graph. The 'vertex-or-value' argument can be |
| depth | Returns the maximum depth of the vertexes in graph assuming that the roots are of depth 0 and tha... |
| 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 and value-or-vertex-2 if one exists. Unless e... |
| 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 'value'. The search is fast but inflexible because it us... |
| 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 calling change-class on the edges). |
| generate-directed-free-tree | Returns a version of graph which is a directed free tree |
| graph->dot | Generates a description of |
| graph->dot-external | |
| graph->dot-properties | Unless a different graph-formatter is specified, this method is called by graph->dot to output gr... |
| graph-roots | Returns a list of the roots of graph. A root is defined as a vertex with no source edges (i.e., a... |
| has-children-p | In a directed graph, returns true if vertex has any edges that point from vertex to some other ve... |
| has-parent-p | In a directed graph, returns true if vertex has any edges that point from some other vertex to th... |
| height-in-pixels | |
| in-cycle-p | Returns true if |
| in-undirected-cycle-p | Return true if-and-only-if an undirected cycle in graph is reachable from start-vertex. |
| iterate-edges | Calls |
| iterate-neighbors | Calls fn on every vertex adjecent to vertex See also iterate-children and iterate-parents. |
| iterate-parents | Calls fn on every vertex that is either connected to vertex by an undirected edge or is at the so... |
| 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 function |
| make-graph | Create a new graph of type `graph-type'. Graph type can be |
| make-graph-from-vertexes | Create a new graph given a list of vertexes (which are assumed to be from the same graph). The ne... |
| make-vertex-edges-container | Called during the initialization of a vertex to create the create the container used to store the... |
| 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 one of the vertexes for |
| out-edge-for-vertex-p | Returns true if the edge is connected to vertex and is either an undirected edge or a directed ed... |
| parent-vertexes | Returns a list of the vertexes to which |
| project-bipartite-graph | Creates the unimodal bipartite projects of existing-graph with |
| renumber-edges | Assign a number to each edge in a graph in some unspecified order. [?? internal] |
| renumber-vertexes | Assign a number to each vertex in a graph in some unspecified order. [?? internal] |
| replace-vertex | Replace vertex |
| rootp | Returns true if |
| search-for-vertex | Search 'graph' for a vertex with element 'value'. The 'key' function is applied to each element b... |
| source-edge-count | Returns the number of source edges of vertex (cf. source-edges). [?? could be a defun] |
| source-edges | Returns a list of the source edges of |
| source-vertex | Returns the source-vertex of a directed edge. Compare with |
| 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 vertex (cf. target-edges). [?? could be a defun] |
| target-edges | Returns a list of the target edges of |
| target-vertex | Returns the target-vertex of a directed edge. Compare with |
| topological-sort | Returns a list of vertexes sorted by the depth from the roots of the graph. See also assign-level... |
| 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 with a keyword argument, this is used by graph->... |
| 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 by an edge. [?? Compare adjacentp] |
| width-in-pixels |
| with-changing-vertex | This is used to maintain consistency when changing the value of vertex elements while iterating o... |
|---|