先决条件: networkx
杠铃图有多种定义。最常用的是 n-barbell 图,它是通过将一个完整图的两个副本与 n 个节点连接而获得的简单图。在本文中,我们将看到如何使用Python使用杠铃图。
n-barbell 图的例子:
示例 1:
如果 N=3 节点,则图形将显示为数字:
示例 2:
如果 N=4 节点,则图形将显示为数字:
分析:
1.节点总数(在n-barbell图中):
The Total number of Nodes = 2*N
2.总边数(在n-barbell图中):
Total number of edges = 2*number of edgesin complete graph + 1
=2*(n*(n-1)/2)+1 = n*(n-1) + 1
特性:
- 杠铃图包含循环。
- 杠铃图每两个节点之间有一条路径连接。
- 它在 2 个完整图形之间架起了一座桥梁。
- Bridge 中可能有也可能没有节点。
使用Python 的杠铃图:
它是在Python使用networkx库和matplotlib库的barbell_graph(n, m)函数实现的。
- networkx库库中Python用于实现和分析Python不同种图形(数据结构)。安装使用这个命令:
pip install networkx
- matplotlib 库: Python的库,用于实现和分析Python的各种功能。安装使用这个命令:
pip install matplotlib
barbell_graph(n, m) :它返回一个杠铃图,其中包含两个完整的 n 个节点图,这些图通过中间的 m 个节点桥连接。
方法:
- 导入 networkx 和 matplotlib 库。
- 使用上面提到的 nx.barbell_graph(n, m)函数创建一个 networkx 图对象 G。
- 使用 nx.draw_networkx(G)函数打印图形。
示例 1:
Python
# import module
import networkx as nx
import matplotlib.pyplot as plt
# graph created
res = nx.barbell_graph(4, 2)
nx.draw_networkx(res)
Python3
import networkx as nx
import matplotlib.pyplot as plt
res = nx.barbell_graph(4, 0)
nx.draw_networkx(res)
解释:
当我们将 (4,2) 作为参数传递给 nx.barbell_graph()函数被分配了一个图,其中包含 4 个节点集群,由 2 个节点组成的桥连接。最后,我们使用 draw_networkx(G)函数将输出作为图 G 的视图。
示例 2:
蟒蛇3
import networkx as nx
import matplotlib.pyplot as plt
res = nx.barbell_graph(4, 0)
nx.draw_networkx(res)
输出:
如果您希望与专家一起参加现场课程,请参阅DSA 现场工作专业课程和学生竞争性编程现场课程。