如何使用
创建图表- 每个节点的预定义连接数,例如3
- 给出连接的分配(比如给定均值的泊松分布)
谢谢
答案 0 :(得分:3)
首先,您必须定义图表数据类型:
class Graph:
def __init__(self):
self.related_nodes = set()
然后为这个数据结构定义一个工厂函数,它可以满足你的需要。例如:
def build_n_edge_graph(n):
nodes = [Graph() for _ in n]
for i, node in enumerate(nodes):
for j in range(n):
if i != j:
n.related.add(node)
(未经测试!)
或其他一些算法。
答案 1 :(得分:3)
如果您使用的是NetworkX,可以尝试使用“配置模型”。 这在SO问题Generating a graph with certain degree distribution?
中讨论过在图论理论术语中,连接数称为“度”。并且具有均匀度的图(所有节点相同)被称为“常规图”。
答案 2 :(得分:1)
在我看来你应该
还有一些限制 - 不应该连接多对节点,没有节点应该有多个(节点数 - 1)链接,也许你想确保图形完全连接 - 但基本上就是它