用法
simple_cycles(
graph,
mode = c("out", "in", "all", "total"),
min = NULL,
max = NULL
)
参见
图环 feedback_arc_set()
, feedback_vertex_set()
, find_cycle()
, girth()
, has_eulerian_path()
, is_acyclic()
, is_dag()
示例
g <- graph_from_literal(A -+ B -+ C -+ A -+ D -+ E +- F -+ A, E -+ E, A -+ F, simplify = FALSE)
simple_cycles(g)
#> $vertices
#> $vertices[[1]]
#> + 3/6 vertices, named, from 51c1db1:
#> [1] A B C
#>
#> $vertices[[2]]
#> + 2/6 vertices, named, from 51c1db1:
#> [1] A F
#>
#> $vertices[[3]]
#> + 1/6 vertex, named, from 51c1db1:
#> [1] E
#>
#>
#> $edges
#> $edges[[1]]
#> + 3/9 edges from 51c1db1 (vertex names):
#> [1] A->B B->C C->A
#>
#> $edges[[2]]
#> + 2/9 edges from 51c1db1 (vertex names):
#> [1] A->F F->A
#>
#> $edges[[3]]
#> + 1/9 edge from 51c1db1 (vertex names):
#> [1] E->E
#>
#>
simple_cycles(g, mode = "all") # ignore edge directions
#> $vertices
#> $vertices[[1]]
#> + 3/6 vertices, named, from 51c1db1:
#> [1] A B C
#>
#> $vertices[[2]]
#> + 4/6 vertices, named, from 51c1db1:
#> [1] A D E F
#>
#> $vertices[[3]]
#> + 4/6 vertices, named, from 51c1db1:
#> [1] A D E F
#>
#> $vertices[[4]]
#> + 2/6 vertices, named, from 51c1db1:
#> [1] A F
#>
#> $vertices[[5]]
#> + 1/6 vertex, named, from 51c1db1:
#> [1] E
#>
#>
#> $edges
#> $edges[[1]]
#> + 3/9 edges from 51c1db1 (vertex names):
#> [1] A->B B->C C->A
#>
#> $edges[[2]]
#> + 4/9 edges from 51c1db1 (vertex names):
#> [1] A->D D->E F->E F->A
#>
#> $edges[[3]]
#> + 4/9 edges from 51c1db1 (vertex names):
#> [1] A->D D->E F->E A->F
#>
#> $edges[[4]]
#> + 2/9 edges from 51c1db1 (vertex names):
#> [1] F->A A->F
#>
#> $edges[[5]]
#> + 1/9 edge from 51c1db1 (vertex names):
#> [1] E->E
#>
#>
simple_cycles(g, mode = "all", min = 2, max = 3) # limit cycle lengths
#> $vertices
#> $vertices[[1]]
#> + 3/6 vertices, named, from 51c1db1:
#> [1] A B C
#>
#> $vertices[[2]]
#> + 2/6 vertices, named, from 51c1db1:
#> [1] A F
#>
#>
#> $edges
#> $edges[[1]]
#> + 3/9 edges from 51c1db1 (vertex names):
#> [1] A->B B->C C->A
#>
#> $edges[[2]]
#> + 2/9 edges from 51c1db1 (vertex names):
#> [1] F->A A->F
#>
#>