要创建一个具有边带权重的networkx图,可以使用add_edge
方法,并为每条边指定一个权重参数。下面是一个示例代码:
import networkx as nx
# 创建一个带有边带权重的图
G = nx.Graph()
# 添加带有权重的边
G.add_edge('A', 'B', weight=0.6)
G.add_edge('A', 'C', weight=0.2)
G.add_edge('C', 'D', weight=0.1)
G.add_edge('C', 'E', weight=0.7)
G.add_edge('E', 'F', weight=0.9)
G.add_edge('B', 'D', weight=0.3)
# 获取边的权重
weight = G['A']['B']['weight']
print(weight) # 输出:0.6
在这个例子中,我们创建了一个无向图,并使用add_edge
方法为每条边指定了一个权重参数。要获取边的权重,可以使用索引操作符['A']['B']['weight']
。
带有权重的图在networkx中可以用于计算最短路径、最小生成树等算法。例如,要计算最小生成树,可以使用minimum_spanning_tree
方法:
# 计算最小生成树
mst = nx.minimum_spanning_tree(G)
这样你就可以使用networkx的其他方法对带有边带权重的图进行进一步的分析和操作。