circulant_graph#
- circulant_graph(n, offsets, create_using=None)[源代码]#
返回循环图 \(Ci_n(x_1, x_2, ..., x_m)\) 使用 \(n\) 节点。
循环图 \(Ci_n(x_1, ..., x_m)\) 由.组成 \(n\) 节点 \(0, ..., n-1\) 使得该节点 \(i\) 连接到节点 \((i + x) \mod n\) 和 \((i - x) \mod n\) 为了所有人 \(x\) 在……里面 \(x_1, ..., x_m\) 。因此, \(Ci_n(1)\) 是一个循环图。
- 参数
- n整数
图形中的节点数。
- offsets整数列表
节点偏移量列表, \(x_1\) 最高可达 \(x_m\) ,如上所述。
- create_usingNetworkX图形构造函数,可选(默认=nx.Graph)
要创建的图表类型。如果是图表实例,则在填充之前清除。
- 返回
- Create_Using类型的网络X图
实例
许多著名的图族都是循环图的子族;例如,要在n个点上创建循环图,我们将每个节点连接到两边的节点(用偏移量加或减1)。对于n=10,
>>> G = nx.circulant_graph(10, [1]) >>> edges = [ ... (0, 9), ... (0, 1), ... (1, 2), ... (2, 3), ... (3, 4), ... (4, 5), ... (5, 6), ... (6, 7), ... (7, 8), ... (8, 9), ... ] ... >>> sorted(edges) == sorted(G.edges()) True
同样,我们可以使用偏移量集在5个点上创建完整的图 [1, 2] :
>>> G = nx.circulant_graph(5, [1, 2]) >>> edges = [ ... (0, 1), ... (0, 2), ... (0, 3), ... (0, 4), ... (1, 2), ... (1, 3), ... (1, 4), ... (2, 3), ... (2, 4), ... (3, 4), ... ] ... >>> sorted(edges) == sorted(G.edges()) True