%% *****************生成随机图***************************
% 输入参数 : n顶点数 , m是最大边数(实际生成的图的边数可能小于m) //
% 输出: 随机图的邻接矩阵 adj //
% 功能:随机生成n个顶点的图,并画出图的网络 //
% 用于算法测试 //
%%
function adj = randomGraph(n, m)
clf;
point = rand(n,1) + i*rand(n,1); % 随机生成 n 个点
E = [floor(1+rand(m,1)*n) floor(1+rand(m,1)*n)]; % 随机生成m条边
adj = zeros(n); % 初始化邻接矩阵(0代表不关联,无权值)
for k = 1 : length(E)
adj(E(k,1), E(k,2)) = 1;
end
adj = adj + adj';
plot([point(E(:,1)) point(E(:,2))].','-');
hold on
plot(point,'*');
for k = 1 : n
text(real(point(k)),imag(point(k)),num2str(k));
end
4341

被折叠的 条评论
为什么被折叠?



