跳到内容

[Experimental]

如果存在二分图,则从其分区的度序列构造二分图。 此函数使用 Havel-Hakimi 风格的构造算法。

用法

realize_bipartite_degseq(
  degrees1,
  degrees2,
  ...,
  allowed.edge.types = c("simple", "multiple"),
  method = c("smallest", "largest", "index")
)

参数

degrees1

第一个分区的度。

degrees2

第二个分区的度。

...

这些点用于未来的扩展,并且必须为空。

allowed.edge.types

字符,指定允许的边的类型。“simple” 仅允许简单图(无多重边)。“multiple” 允许存在多重边。

method

字符,生成图的方法;见下文。

新的图对象。

详细信息

“method”参数控制在算法过程中选择顶点的顺序。

“smallest” 方法从任一分区中选择剩余度最小的顶点。 结果通常是具有高负度相关性的图。 在无向图中,只要存在连通的实现,无论是否允许使用多重边,此方法都保证生成连通图。 这是默认方法。

“largest” 方法选择剩余度最大的顶点。 结果通常是具有高度正度相关性的图,并且通常是不连通的。

“index” 方法按索引顺序选择顶点。

参见

realize_degseq() 用于创建不一定是二分图的图。

realize_bipartite_degree_sequence().

示例

g <- realize_bipartite_degseq(c(3, 3, 2, 1, 1), c(2, 2, 2, 2, 2))
degree(g)
#>  [1] 3 3 2 1 1 2 2 2 2 2