CL-Graph is a Common Lisp library for manipulating graphs and running graph algorithms.
| *depth-first-search-timer* | |
|---|---|
| *dot-edge-attributes* | |
| *dot-graph-attributes* | |
| *dot-path* | Path to |
| *dot-vertex-attributes* |
| .inv-node-color | |
|---|---|
| .inv-node-depth | |
| .inv-node-parent | |
| append-unique | |
| copy-vertex-datum | |
| format-dot-attributes | |
| get-nodelist-relatives | Collects set of unique relatives of nodes in node-list. |
| get-transitive-closure | Given a list of vertices, returns a combined list of all of the nodes |
| graph-search-for-cl-graph | Find a state that satisfies goal-p. Start with states, |
| make-vertex-datum | |
| 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 |
| neighbors-to-children | |
| node-color | |
| node-depth | |
| node-parent | |
| print-dot-key-value | |
| remove-list | Removes all elements in original from target. |
| textify |
| 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-edge-to-vertex | Attaches the edge |
| add-edges-to-graph | |
| 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 |
| assign-level | Sets the depth of |
| breadth-first-search-graph | |
| breadth-first-visitor | |
| child-vertexes | Returns a list of the vertexes to which |
| complete-links | Add edges between vertexes in the new-graph for |
| 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-cross-edge-p | |
| dfs-edge-type | |
| dfs-forward-edge-p | |
| dfs-tree-edge-p | |
| dfs-visit | |
| 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 |
| ensure-valid-dot-attribute | |
| 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 |
| initialize-vertex-data | |
| 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-edge-container | Make-edge-container is called during graph creation |
| make-edge-for-graph | It should not usually necessary to call this in |
| 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-container | Make-vertex-container is called during graph |
| make-vertex-edges-container | Called during the initialization of a vertex to |
| make-vertex-for-graph | Creates a new vertex for graph |
| map-over-all-combinations-of-k-edges | |
| map-over-all-combinations-of-k-vertexes | |
| minimum-spanning-tree | Returns a minimum spanning tree of graph if one exists and nil otherwise. |
| mst-find-set | |
| mst-link | |
| mst-make-set | |
| mst-tree-union | |
| 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 |
| tag-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 |
| traverse-elements | WIP |
| traverse-elements-helper | WIP |
| undirected-edge-p | Returns true if-and-only-if edge is undirected |
| untag-all-edges | Sets the |
| untag-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 | |
| write-name-for-dot |
| defpixel-inch-accessors | |
|---|---|
| with-changing-vertex | This is used to maintain consistency when changing the value of vertex elements while iterating o... |