【问题标题】:Adjacency matrix from Adjacency lists of a graph in matlabmatlab中图形的邻接列表中的邻接矩阵
【发布时间】:2018-10-17 20:08:48
【问题描述】:

我有一个具有 198 个顶点和 2472 个边的图的邻接列表。如何构造图的邻接矩阵?

感谢您的帮助

【问题讨论】:

  • 你能提供更多细节吗?您的顶点是 198×2 坐标矩阵吗?您的边是顶点的 2472×2 索引矩阵吗?
  • 您可以阅读sparseaccumarray 的文档

标签: matlab graph-theory adjacency-matrix adjacency-list


【解决方案1】:

因为你有 198 个顶点,所以邻接矩阵是 198 乘 198,不是那么大。所以我们可以只使用一个完整的矩阵。假设顶点编号从 1 开始。假设您的邻接列表矩阵 AL 具有以下格式:

AL(1,:) = [1, 4, 6, -1, ...]
AL(2,:) = [2, 3, 7, 8, ...]
...

其中-1用于使矩阵AL的列大小相同。

代码如下:

% initialize adjacency matrix
AM = zeros(198, 198)

% construct adjacency matrix 
L = length(A(1,:));
for i = 1:198
    for j = 1:L
        if AL(i,j) > 0
            AM(i,AL(i,j)) = 1;
        end
    end
end

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-05-31
    • 2012-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多