如果您从 R 中使用 igraph,请使用此选项
graph_from_adj_list {igraph} | R 文档 |
邻接列表是数字向量的列表,包含每个顶点的相邻顶点。此函数从这样的列表创建一个 igraph 图对象。
graph_from_adj_list(
adjlist,
mode = c("out", "in", "all", "total"),
duplicate = TRUE
)
adjlist |
邻接列表。它应该是连贯的,即列表中所有向量的最大值必须小于向量的数量(=图中的顶点数)。请注意,该列表预计是 0 索引的。 |
模式 |
字符标量,指定要创建的图是无向的(“all”或“total”)还是有向的;在后一种情况下,它包含顶点的传出(“out”)或传入(“in”)邻居。 |
duplicate |
逻辑标量。对于无向图,它指示边是否在列表中包含两次。例如,如果它是 如果 |
如果您打算对图进行许多(小的)修改,则邻接列表很方便。在这种情况下,邻接列表比 igraph 图更有效。
这个想法是您通过 as_adj_list
将您的图转换为邻接列表,对图进行修改,最后通过调用 graph_from_adj_list
再次创建一个 igraph 图。
一个 igraph 图对象。
Gabor Csardi csardi.gabor@gmail.com
## Directed
g <- make_ring(10, directed=TRUE)
al <- as_adj_list(g, mode="out")
g2 <- graph_from_adj_list(al)
graph.isomorphic(g, g2)
## Undirected
g <- make_ring(10)
al <- as_adj_list(g)
g2 <- graph_from_adj_list(al, mode="all")
graph.isomorphic(g, g2)
ecount(g2)
g3 <- graph_from_adj_list(al, mode="all", duplicate=FALSE)
ecount(g3)
which_multiple(g3)