我想生成具有 N 个节点的无向图的邻接矩阵。特别是,这个图应该有一个固定的度数(每个节点都连接到固定数量的节点 d)。
如果集合 d = N-1,则解决方案很简单:
A = ones(N) - eye(N);
我如何将它概括为任何 d?
添加:
这是一个解决方案(感谢 Oli Charlesworth):
function A = fixedDegreeGraph(N, d)
A = zeros(N);
for i=1:N
b = i;
f = i;
for k=1:floor(d/2)
f = f + 1;
if (f == N + 1)
f = 1;
end
A(i, f) = 1;
A(f, i) = 1;
b = b - 1;
if (b == 0)
b = N;
end
A(i, b) = 1;
A(b, i) = 1;
end
end