Convert Adjacency list of graph into Adjacency matrix
4 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
I am working with Adjacency lists of a graph with 198 vertices and 2472 edges. How can I construct adjacency matrix of graph in Matlab?
Thank you for any help
1 comentario
Respuestas (3)
Steven Lord
el 17 de Oct. de 2018
How is your data stored?
Do you have a matrix or two vectors containing the endpoints of the edges? In this case you can use sparse or accumarray as Bruno suggested.
Is your data stored in a different way? If so, describe your storage system and we may be able to offer some guidance.
1 comentario
Guillaume
el 17 de Oct. de 2018
One possible way to read your file:
lists = strsplit(fileread('list.txt'), {'\r', '\n'});
if isempty(lists{end}), lists = lists(1:end-1); end
lists = cellfun(@(v) sscanf(v, '%d'), lists, 'UniformOutput', false);
adj = sparse(repelem(1:numel(lists), cellfun('length', lists)), vertcat(lists{:}), 1)
If you want a full matrix:
full(adj)
0 comentarios
Ver también
Categorías
Más información sobre Graph and Network Algorithms en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!