## Class Tinaa-Graph

package tinaa

### Default initargs

:default-edge-class → #:dot-attributes → #
:vertex-class → #:directed-edge-class → #
:undirected-edge-class → #:initial-size → #

### Direct Superclass

dot-graph-mixin A graph container is essentially an adjacency list graph representation [?? The Bad name comes fr...

### Slot

add-edge Add-edge adds an existing edge to a graph. As add-edge-between-vertexes is generally more natur... Adds an edge between two vertexes and returns it. If force-new? is true, the edge is added even i... Adds a vertex to a graph. If called with a vertex, then this vertex is added. If called with a ... Return true if vertex-1 and vertex-2 are connected by an edge. [?? compare with vertices-share-... Returns true if there are any undirected cycles in `graph`. Sets the depth of `vertex` to level and then recursively sets the depth of all of the children ... Add edges between vertexes in the new-graph for which the matching vertexes in the old-graph ha... Returns the number of connected-components of graph. Returns a union-find-container representing the connected-components of `graph`. Returns true if graph is a connected graph and nil otherwise. Delete all edges from `graph'. Returns the graph.. Delete the `edge' from the `graph' and returns it. Finds an edge in the graph between the two specified vertexes. If values (i.e., non-vertexes) a... Remove a vertex from a graph. The 'vertex-or-value'argument can be a vertex of the graph or a 'v... Returns the maximum depth of the vertexes in graph assuming that the roots are of depth 0 and t... Returns the number of edges attached to `vertex`. Compare with the more flexible `vertex-degree... Returns a list of the edges of `thing`. Returns a list of sub-graphs of `graph` where each sub-graph is a different connected component... Search `graph` for an edge whose vertexes match `edge`. This means that `vertex-1` of the edge ... Searches `graph` for an edge that connects vertex-1 and vertex-2. [?? Ignores error-if-not-fou... Finds and returns an edge between value-or-vertex-1 and value-or-vertex-2 if one exists. Unless... Returns the first edge in `thing` for which the `predicate` function returns non-nil. If the `k... Returns a list of edges in `thing` for which the `predicate` returns non-nil. [?? why no key fu... Search 'graph' for a vertex with element 'value'. The search is fast but inflexible because it ... Returns the first vertex in `thing` for which the `predicate` function returns non-nil. If the ... Returns a list of vertexes in `thing` for which the `predicate` returns non-nil. [?? why no key f... Ensures that the graph is undirected (possibly by calling change-class on the edges). Returns a version of graph which is a directed free tree rooted at root. Unless a different graph-formatter is specified, this method is called by graph->dot to output ... Returns a list of the roots of graph. A root is defined as a vertex with no source edges (i.e.,... Returns true if `start-vertex` is in some cycle in `graph`. This uses child-vertexes to generat... Return true if-and-only-if an undirected cycle in graph is reachable from start-vertex. Calls `fn` on each edge of graph or vertex. Calls `fn` on each of the vertexes of `thing`. Make-edge-container is called during graph creation and can be used to create specialized conta... It should not usually necessary to call this in user code. Creates a new edge between vertex-1 ... Takes a GRAPH and a TEST-FN (a single argument function returning NIL or non-NIL), and filters th... Make-vertex-container is called during graph creation and can be used to create specialized con... Creates a new vertex for graph `graph`. The keyword arguments include: * vertex-class : specif... Returns a minimum spanning tree of graph if one exists and nil otherwise. Creates the unimodal bipartite projects of existing-graph with vertexes for each vertex of existi... Assign a number to each edge in a graph in some unspecified order. [?? internal] Assign a number to each vertex in a graph in some unspecified order. [?? internal] Replace vertex `old` in graph `graph` with vertex `new`. The edge structure of the graph is mai... Search 'graph' for a vertex with element 'value'. The 'key' function is applied to each element... Returns a new graph that is a subset of `graph`that contains `vertex` and all of the other verte... Sets the `tag` of all the edges of `thing` to true. [?? why does this exist?] Returns a list of vertexes sorted by the depth from the roots of the graph. See also assign-lev... WIP Sets the `tag` of all the edges of `thing` to nil. [?? why does this exist?] Returns the number of vertexes in `graph`. [?? could be a defun] Returns a list of the vertexes of `thing`.