Class Basic-Vertex

This is the root class for all vertexes in CL-Graph.

Part of:

package cl-graph, class graph-matrix-vertex, class graph-container-vertex

Direct Superclass

container-node-mixin

Direct Subclass

graph-container-vertex

A graph container vertex keeps track of its edges in the the vertex-edges slot. The storage for t...

graph-matrix-vertex

Stub for matrix based graph. Not implemented.

Slot

color
The `color` is used by some algorithms for bookkeeping. [?? Should probably be in a mixin]
Initargs::color; Accessors:color.
depth-level
`Depth-level` is used by some algorithms for bookkeeping. [?? Should be in a mixin]
Initform:0, Initargs::depth-level; Accessors:depth-level; Type:number.
discovery-time
`Discovery-time` is used by some algorithms for bookkeeping. [?? Should be in a mixin]
Initform:-1, Initargs::discovery-time; Accessors:discovery-time.
elementInitargs::element,:value; Accessors:element, value.
finish-time
`Finish-time` is used by some algorithms for bookkeeping. [?? Should be in a mixin]
Initform:-1, Initargs::finish-time; Accessors:finish-time.
graph
The `graph` of which this edge is a part.
Initargs::graph; Reader:graph.
next-node
`Next-node` is used by some algorithms for bookkeeping. [?? Should be in a mixin]
Initargs::next-node; Accessors:next-node.
previous-node
`Previous-node` is used by some algorithms for bookkeeping. [?? Should be in a mixin]
Initargs::previous-node; Accessors:previous-node.
rank
The `rank` is used by some algorithms for bookkeeping. [?? Should be in a mixin]
Initargs::rank; Accessors:rank.
tag
The `tag` is used by some algorithms for bookkeeping. [?? Should probably be in a mixin]
Initargs::tag; Accessors:tag.
vertex-id
`Vertex-id` is used internally to keep track of vertexes.
Initform:0, Initargs::vertex-id; Reader:vertex-id.

Direct Method

add-edge-between-vertexes

Adds an edge between two vertexes and returns it.
If force-new? is true, the edge is added even i...

add-edge-to-vertex

Attaches the edge edge to the vertex vertex.

add-vertex

Adds a vertex to a graph. If called with a vertex,
then this vertex is added. If called with a ...

adjacentp

Return true if vertex-1 and vertex-2 are connected
by an edge. [?? compare with vertices-share-...

assign-level

Sets the depth of vertex to level and then
recursively sets the depth of all of the children ...

breadth-first-search-graph
breadth-first-visitor
delete-vertex

Remove a vertex from a graph. The 'vertex-or-value'
argument can be a vertex of the graph or a 'v...

dfs
dfs-visit
edge-count

Returns the number of edges attached to
vertex. Compare with the more flexible `vertex-degree...

edges

Returns a list of the edges of thing.

find-vertex

Search 'graph' for a vertex with element
'value'. The search is fast but inflexible because it ...

in-cycle-p

Returns true if start-vertex is in some cycle in
graph. This uses child-vertexes to generat...

in-undirected-cycle-p

Return true if-and-only-if an undirected cycle in
graph is reachable from start-vertex.

make-edge-for-graph

It should not usually necessary to call this in
user code. Creates a new edge between vertex-1 ...

map-over-all-combinations-of-k-edges
mst-find-set
mst-link
mst-make-set
mst-tree-union
out-edge-for-vertex-p

Returns true if the edge is connected to vertex and
is either an undirected edge or a directed ...

replace-vertex

Replace vertex old in graph graph with vertex
new. The edge structure of the graph is mai...

rootp

Returns true if vertex is a root vertex (i.e.,
it has no incoming (source) edges).

search-for-vertex

Search 'graph' for a vertex with element
'value'. The 'key' function is applied to each element...

setfelement
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
vertex. I.e., the edges that begin at vertex.

subgraph-containing

Returns a new graph that is a subset of graph
that contains vertex and all of the other verte...

tag-all-edges

Sets the tag of all the edges of thing to
true. [?? why does this exist?]

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 vertex.
I.e., the edges that end at vertex.

traverse-elements-helper

WIP

untag-all-edges

Sets the tag of all the edges of thing to nil.
[?? why does this exist?]

vertex->dot

Unless a different vertex-formatter is specified
with a keyword argument, this is used by graph...

Other Method

search-for-node
search-for-node*