is_tree()
判断一个图是否为树,并且可以选择返回一个可能的根顶点,如果该图是一棵树。
用法
is_tree(graph, mode = c("out", "in", "all", "total"), details = FALSE)
值
当 details
为 FALSE
时,一个逻辑值,指示该图是否为树。 当 details
为 TRUE
时,一个具有两个条目的命名列表。
- res
逻辑值,指示该图是否为树。
- root
树的根顶点;如果该图不是一棵树,则未定义。
详细信息
一个无向图如果连通且没有环,则它是一棵树。 在有向图中,一个可能的附加要求是所有边都从根向外指向(外向树或有向树),或者所有边都指向根(内向树或反向有向树)。 可以使用 mode 参数控制此测试。
按照惯例,空图(即没有顶点的图)被认为不是一棵树。
参见
其他树相关函数:is_forest()
, make_from_prufer()
, sample_spanning_tree()
, to_prufer()
示例
g <- make_tree(7, 2)
is_tree(g)
#> [1] TRUE
is_tree(g, details = TRUE)
#> $res
#> [1] TRUE
#>
#> $root
#> + 1/7 vertex, from 7348497:
#> [1] 1
#>