📜  使用 networkx 可视化图的补充

📅  最后修改于: 2021-10-25 03:22:57             🧑  作者: Mango

给定一个图G补充图是通过从具有与G相同节点数的完整图中去除G 中包含的边来获得的。

例子:

初始图 G:

G

G的补:

G补

使用Python实现补码:

我们将使用networkx.complement()函数来完成我们的任务

句法:

补(G)函数:

如果满足以下条件,则将边 (n,n2)(其中 n 是用于迭代 G 的迭代器)添加到补充图:

  • n 和 n2 不是邻居,即 n2 在 n 的邻接表中,反之亦然。
  • 并且 n != n2。
  • n 和 n2 都是 G 的一部分。

方法:

  • 我们将使用别名nx导入networkx
  • 使用path_graph()函数创建示例图形对象 G。
  • 然后我们将调用补充函数,将G作为参数传递。
  • 我们将在另一个对象G_C 中捕获补码函数返回的对象
  • 然后我们将调用draw()函数,传递G_C作为参数,它将显示补码图。
Python3
# importing networkx module
import networkx as nx
  
# creating sample graph object
G = nx.path_graph(3)
  
# complement of G and saving in G_C
G_C = nx.complement(G)
  
  
# calling draw() to visualize the original graph
nx.draw(G, node_color='Green', with_labels=True)
  
  
# calling draw() to visualize the complement graph
nx.draw(G_C, node_color='Green', with_labels=True)


输出:

原始图

补图

通过使用complement()方法,G 中的所有边都被删除了,所有其他可能性都被添加到G 的补集中并打印出来。

如果您希望与专家一起参加现场课程,请参阅DSA 现场工作专业课程学生竞争性编程现场课程