Utilities#

Helper Functions#

网络X的杂项助手。

这些不会导入到基础networkx命名空间中,但可以通过以下方式访问,例如:

>>> import networkx
>>> networkx.utils.make_list_of_ints({1, 2, 3})
[1, 2, 3]
>>> networkx.utils.arbitrary_element({5, 1, 7})  
1

arbitrary_element(iterable)

返回 iterable 中的任意一个元素,但不移除该元素。

flatten(obj[, result])

返回(可能嵌套的)可迭代对象的扁平化版本。

make_list_of_ints(sequence)

返回从整数序列中提取的整数列表。

dict_to_numpy_array(d[, mapping])

将字典的字典转换为二维numpy数组,可选映射。

pairwise(iterable[, cyclic])

s -> (s0, s1), (s1, s2), (s2, s3), ...

groups(many_to_one)

将多对一映射转换为一对多映射。

create_random_state([random_state])

返回一个根据输入确定的 numpy.random.RandomState 或 numpy.random.Generator 实例。

create_py_random_state([random_state])

返回一个根据输入的 random.Random 实例。

nodes_equal(nodes1, nodes2)

检查节点是否相等。

edges_equal(edges1, edges2)

检查边是否相等。

graphs_equal(graph1, graph2)

检查图是否相等。

Data Structures and Algorithms#

并查集数据结构。

UnionFind.union(*objects)

找到包含这些对象的集合并将其全部合并。

Random Sequence Generators#

生成随机数、随机序列和随机选择的实用工具。

powerlaw_sequence(n[, exponent, seed])

返回从幂律分布中抽取的长度为n的样本序列。

cumulative_distribution(distribution)

返回从离散分布归一化的累积分布。

discrete_sequence(n[, distribution, ...])

返回从给定离散分布或离散累积分布中抽取的长度为 n 的样本序列。

zipf_rv(alpha[, xmin, seed])

返回从Zipf分布中随机选择的值。

random_weighted_sample(mapping, k[, seed])

返回从加权样本中无放回地抽取的k个项目。

weighted_choice(mapping[, seed])

从加权样本中返回一个单一元素。

Decorators#

open_file(path_arg[, mode])

确保文件打开和关闭的装饰器。

not_implemented_for(*graph_types)

装饰器,用于标记算法为未实现

nodes_or_number(which_args)

装饰器允许节点数量或节点容器。

np_random_state(random_state_argument)

装饰器用于生成一个 numpy 的 RandomState 或 Generator 实例。

py_random_state(random_state_argument)

装饰器用于生成一个 random.Random 实例(或等效实例)。

argmap(func, *args[, try_finally])

一个装饰器,用于在调用函数之前对参数应用映射

Cuthill-Mckee Ordering#

Cuthill-McKee 图节点排序以生成稀疏矩阵

cuthill_mckee_ordering(G[, heuristic])

生成图节点的排序(置换)以形成稀疏矩阵。

reverse_cuthill_mckee_ordering(G[, heuristic])

生成一个图节点的排序(置换)以形成稀疏矩阵。

Mapped Queue#

带有可更新优先级的优先队列类。

MappedQueue([data])

MappedQueue 类实现了一个带有移除和更新优先级的最小堆。