+ 我要发布
我发布的 我的标签 发现
浏览器扩展
斑点象@Edge

networkx整理

1.1、介绍 networkx在2002年5月产生,是一个用Python语言开发的图论与复杂网络建模工具,内置了常用的图与复杂网络分析算法,可以方便的进行复杂网络数据分析、仿真建模等工作。 networkx支持创建简单无向图、有向图和多重图;内置许多标准的图论算法,节点可为任意数据;支持任意的边值维度,功能丰富,简单易用。 1.2、作用 利用networkx可以以标准化和非标准化的数据格式存储网络、生成多种随机网络和经典网络、分析网络结构、建立网络模型、设计新的网络算法、进行网络绘制等。 1.3、Graph 1.3.1、Graph的定义 Graph是用点和线来刻画离散事物集合中的每对事物间以某种方式相联系的数学模型。 网络作为图的一个重要领域,包含的概念与定义更多,如有向图网络(Directed Graphs and Networks)、无向图网络(Undirected)等概念。 Graph在现实世界中随处可见,如交通运输图、旅游图、流程图等。此处我们只考虑由点和线所组成的图。 利用图可以描述现实生活中的许多事物,如用点可以表示交叉口,点之间的连线表示路径,这样就可以轻而易举的描绘出一个交通运输网络。 1.3.2、Graph的结构 根据Graph的定义,一个Graph包含一个节点集合和一个边集。 在NetworkX中,一个节点可以是任意hash对象(除了None对象),一条边也可以关联任意的对象,像一个文本字符串,一幅图像,一个XML对象,甚至是另一个图或任意定制的节点对象。 注意:Python中的None对象是不可以作为节点的类型的。 节点与边能够存储任意类型字典的属性和任意其他丰富类型的数据。 1.3.3、Graph分类 Graph:指无向图(undirected Graph),即忽略了两节点间边的方向。 DiGraph:指有向图(directed Graph),即考虑了边的有向性。 MultiGraph:指多重无向图,即两个结点之间的边数多于一条,又允许顶点通过同一条边和自己关联。 MultiDiGraph:多重图的有向版本。