跳到内容

is_tree() 判断一个图是否为树,并且可以选择返回一个可能的根顶点,如果该图是一棵树。

用法

is_tree(graph, mode = c("out", "in", "all", "total"), details = FALSE)

参数

graph

igraph 图对象

mode

是否在有向图中考虑边的方向。“all”忽略边的方向;“out”要求边从根向外指向;“in”要求边指向根。

details

是只返回图是否为树(FALSE),还是同时返回一个可能的根(TRUE)。

detailsFALSE 时,一个逻辑值,指示该图是否为树。 当 detailsTRUE 时,一个具有两个条目的命名列表。

res

逻辑值,指示该图是否为树。

root

树的根顶点;如果该图不是一棵树,则未定义。

详细信息

一个无向图如果连通且没有环,则它是一棵树。 在有向图中,一个可能的附加要求是所有边都从根向外指向(外向树或有向树),或者所有边都指向根(内向树或反向有向树)。 可以使用 mode 参数控制此测试。

按照惯例,空图(即没有顶点的图)被认为不是一棵树。

参见

其他树相关函数:is_forest(), make_from_prufer(), sample_spanning_tree(), to_prufer()

is_tree().

示例


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
#>