SchemeExt:Graph:order-cyclic
From DocR21
Contents |
Action
Assigns a sequence order to the vertices of a cyclic graph.
Filename
scm/scmext/kern/graph_scm.cpp
APIs
None
Syntax
(graph:order-cyclic in-graph in-first in-last)
Argument Types
| Argument | Scheme Data Type |
|---|---|
| in-graph | graph |
| in-first | string | entity |
| in-last | string | entity |
Returns
integer
Description
A cycle is defined as a connected group of vertices whose individual removal from the graph results in a linear graph and the same number of components. In other words, none of the vertices of the cycle are cut vertices and none have edges to more than one vertex. The extension returns the number of vertices in the graph.
Arguments
- in-graph specifies a graph.
- in-first could be either a vertex or a string representing the vertex in the graph.
- in-last could be either a vertex or a string representing the vertex in the graph.
Example
; graph:order-cyclic ; Create a simple example (define g1 (graph "me-you you-us us-them them-they me-they FIDO-SPOT SPOT-KING SPOT-PETEY")) ;; g1 ; CAREFUL: The order of the graph output may not be the same each time. (define g2 (graph:component g1 "me")) ;; g2 (graph:cycle? g2) ;; #t (graph:order-cyclic g2 "me" "them") ;; 4 (graph:show-order g2) ;; ("they 4" "them 3" "us 2" "you 1" "me 0")
