最后更新于
最后更新于
networkx
是python
中处理图数据结构常用的一个模块, 使用简单, 常用的对图计算的需求都已经使用高效的算法实现.
本文主要内容为networkx
模块的基本使用方法, 包括一些常用的算法需求.
创建一个无点无边的空图:
点(nodes/vertices)可以是任何哈希的对象, int
, string
, tuple
等等.
图的元素扩张可以通过两种形式: 添加点或添加边.
首先, 可以通过以下的方式向图中添加结点:
也可以传入list
, 添加一系列的点:
图也可以通过增加边来扩展.
添加一条边:
添加多条边:
同样的, 可以便捷的使用方法, 删除图中已经存在的点和边:
使用一些方法快速查询图的一些属性:
networkx
还提供了iterator
的方法来快速定位点和边, 但需要注意的是不能修改返回的字典格式的数据, 因为这是模块组织数据的形式.
这里的每个元素位置要固定, 最后一个元素表示边的权值