rustworkx.union#
- union(first, second, merge_nodes=False, merge_edges=False)[source]#
通过合并两个输入图对象来形成新图
这个函数中的算法分为三个阶段运行:
1. 将所有节点从
second添加到first中。操作时间复杂度为 \(\mathcal{O}(n_2)\),其中 \(n_2\) 是second中的节点数量。 2. 从second合并节点到first的前提条件是:merge_nodes设置为True时,时间复杂度为 \(\mathcal{O}(n_1 n_2)\), 其中 \(n_1\) 表示first中节点的数量,\(n_2\) 表示second中节点的数量second和first中的相应节点共享相同的权重/数据载荷。
将
second中的所有边添加到first中。如果merge_edges参数为True,并且second和first中的相应边共享相同的权重/数据负载,它们将被合并在一起。
- Parameters:
first – 第一个图对象
second - 第二个图对象
merge_nodes (bool) – 如果设置为
True,当权重相等时,second和first之间的节点将被合并。默认值:False。merge_edges (bool) – 如果设置为
True,会在second和first之间合并权重相等的边。默认值:False。
- Returns:
一个新的图对象,是
second和first的并集。值得注意的是,权重/数据载荷对象是通过引用从first和second传递给这个新对象的。- Return type: