跳到内容

在图上执行广度优先搜索,并通过复制多次找到的顶点将其转换为树或森林。

用法

unfold_tree(graph, mode = c("all", "out", "in", "total"), roots)

参数

graph

输入图,它可以是有向图或无向图。

mode

字符串,定义用于广度优先搜索的路径类型。“out”跟随输出边,“in”跟随输入边,“all”和“total”都跟随它们。此参数对于无向图将被忽略。

roots

一个向量,给出执行广度优先搜索的顶点。通常它包含每个组件的一个顶点。

包含两个组件的列表

tree

结果,一个 igraph 对象,一棵树或一片森林。

vertex_index

一个数字向量,给出了从新图的顶点到旧图的顶点的映射。

详细信息

森林是一个图,其组件是树。

roots 向量可以通过简单地对图的所有组件进行拓扑排序来计算,请参见以下示例。

作者

Gabor Csardi csardi.gabor@gmail.com

示例


g <- make_tree(10) %du% make_tree(10)
V(g)$id <- seq_len(vcount(g)) - 1
roots <- sapply(decompose(g), function(x) {
  V(x)$id[topo_sort(x)[1] + 1]
})
tree <- unfold_tree(g, roots = roots)