NetworkX 1.10#

上映日期:2015年8月2日

在此版本中,不再支持Python2.6。

集锦#

  • 连接的组件现在返回生成器

  • 新增功能包括

    • 枚举团、贪婪着色、边DFS、查找循环立即支配符、调和中心性

    • 最大匹配的Hopraft--Karp算法

    • 最佳的分枝和树冠。

    • all_simple_paths

  • 从GML读取器/解析器中移除了pyparsing依赖

  • 改进的流动算法

  • 与扩展图相关的新生成器。

  • 多部图、非同构树、循环图的新生成元

  • 允许图子类使用类似字典的对象来代替字典

  • 添加了有序图的子类

  • 已添加熊猫数据帧读/写。

  • G.Edges()中的数据关键字允许直接请求边属性

  • 扩展了节点子集的布局灵活性

  • 关于割集和k_分支的Kanesky算法

  • 图的幂函数

  • 节点连通性的近似值

  • 传递闭包、三元普查与反链

  • 商图与子式

  • DAG的最长路径(_P)

  • 模块化矩阵例程

API更改#

  • [#1501] connected_componentsweakly_connected_componentsstrongly_connected_components 现在返回一组节点的生成器。以前,生成器是节点列表。此pr还重构了 connected_componentsweakly_connected_components 实现使它们更快,尤其是对于大型图形。

  • [#1547] 这个 func_iter DI/MULTI/GRAPHICS类中的函数将在Networkx2.0版本中删除。 func 会表现得像 func_iter 返回迭代器而不是列表。这些函数在networkx 1.10版本中已被弃用。

新功能#

  • [#823] A enumerate_all_cliques 功能添加到集团包中 (networkx.algorithms.clique )用于枚举无向图的所有组(包括非最大组)。

  • [#1105] 彩色包装 (networkx.algorithms.coloring )是为图形着色算法创建的。最初,A greedy_color 函数用于使用各种贪婪启发式对图着色。

  • [#1193] 一种新的发电机 edge_dfs ,添加到 networkx.algorithms.traversal ,实现图中边的深度优先遍历。这补充了图中节点深度优先遍历所提供的功能。对于多重图,它允许用户精确地知道遍历中跟随的边。支持所有NetworkX图形类型。遍历还可以反转边缘方向或忽略它们。

  • [#1194] A find_cycle 函数添加到 networkx.algorithms.cycles 打包以在图中查找循环。可以选择反转或忽略边缘方向。

  • [#1210] 为复制发散模型添加一个随机生成器。

  • [#1241] 一个新的 networkx.algorithms.dominance 增加了有向图上的支配/支配算法包。它包含一个 immediate_dominators 用于计算直接支配者/支配者树的函数和 dominance_frontiers 计算优势边界的函数。

  • [#1269] GML阅读器/解析器和编写器/生成器被重写,以消除对pyparsing的依赖,并支持处理任意图形数据。

  • [#1280] 中的网络单纯形方法 networkx.algorithms.flow 重新编写包以提高其性能并支持多个和断开连接的网络。在某些情况下,新的实现比旧的实现快两到三个数量级。

  • [#1286] 加上了马尔古利斯——加伯——伽利略图 networkx.generators .

  • [#1306] 增加了弦P循环图,这是一个3-正则扩张图族的轻度显式代数构造。同时,将现有的扩展器图生成器函数(用于Margulis-Gabber-Galil扩展器)和新的弦循环图函数移动到新模块, networkx.generators.expanders .

  • [#1314] 允许用dict重写基类dict,如:orderedgraph、thingraph、printgraph等。

  • [#1321] 补充 to_pandas_dataframefrom_pandas_dataframe .

  • [#1322] 添加了Hopcroft--karp算法,用于在二部图中查找最大基数匹配。

  • [#1336] 在g.edges中展开数据关键字并添加默认关键字。

  • [#1338] 为寻找最佳的树枝和乔木增加了支持。

  • [#1340] 增加了一个 from_pandas_dataframe 接受 Pandas 数据帧并返回新图形对象的函数。数据帧至少必须有两列,定义构成边缘的节点。但是,函数还可以处理任意数量的附加列作为边缘属性,如“weight”。

  • [#1354] 扩展的布局功能增加了绘制具有不同布局的节点子集的灵活性,并使每个布局围绕给定坐标居中。

  • [#1356] 添加了默认图形类的有序变量。

  • [#1360] 增加了谐波中心性 network.algorithms.centrality .

  • [#1390] 这个 generators.bipartite 已移至 algorithms.bipartite.generators . 函数没有在主命名空间中导入,因此要使用它,必须导入二部分包。

  • [#1391] 增加了Kanevsky在无向图中查找所有最小尺寸分离节点集的算法。它被实现为节点切割集的生成器。

  • [#1399] 简单图的加幂函数

  • [#1405] 增加了基于White和Newman近似算法的节点连接快速近似,用于在两个节点之间找到独立于节点的路径。

  • [#1413] 增加了有向无环图的传递闭包和反链函数 algorithms.dag . 反链函数由PeterJipsen和Franco Saliola提供,最初是为SAGE项目开发的。

  • [#1425] 为完整的多部分图形添加了生成器功能。

  • [#1427] 添加了非同构树生成器。

  • [#1436] 将循环图的生成器函数添加到 networkx.generators.classic 模块。

  • [#1437] 增加了计算商图的功能;还创建了一个新模块, networkx.algorithms.minors .

  • [#1438] 为DAG添加了最长路径和最长路径长度。

  • [#1439] 添加了节点和边缘收缩函数 networkx.algorithms.minors .

  • [#1445] 增加了一个新的模块化矩阵模块 networkx.linalg 以及相关的频谱函数 networkx.linalg.spectrum 模块。

  • [#1447] 添加了一个函数来生成所有从最短路径开始的简单路径,该函数基于Yen的算法在 algorithms.simple_paths .

  • [#1455] 将定向模块矩阵添加到 networkx.linalg.modularity_matrix 模块。

  • [#1474] 添加 triadic_census 函数;还创建一个新模块, networkx.algorithms.triads .

  • [#1476] 添加用于测试图是否具有加权边缘或负加权边缘的函数。还添加了一个函数,用于测试图是否为空。这些是 is_weightedis_negatively_weightedis_empty .

  • [#1481] 增加了约翰逊算法;一个最短路径的算法。它解决了所有对的最短路径问题。这是 johnsonalgorithms.shortest_paths

  • [#1414] 增加了用于识别的穆迪和怀特算法 k_components 在图中,它基于Kanevsky的算法查找所有最小尺寸的节点切割集(实现于 all_node_cuts 1391)。

  • [#1415] 添加快速近似值 k_componentsnetworkx.approximation 包裹。这是基于White和Newman近似算法来查找两个节点之间的独立于节点的路径(请参见1405)。

删除的功能#

  • [#1236] 遗产 ford_fulkerson 最大流量功能被删除。使用 edmonds_karp 相反。

其他变更#

  • [#1192] 不再支持python 2.6。