从邻接矩阵中的所选行中找到k步内的所有边的索引

时间:2013-05-03 16:47:38

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

我有一个函数,我可以在稀疏邻接矩阵中的任何初始节点集中找到所有节点k个步骤。通常,此初始集是单个分支的to-from节点。我想要一个“使用”分支列表来访问这些节点。

我用来查找连接节点的函数如下:

% nb = number of buses in the system
% branch_list = [from to] = the from/to nodes of each branch
adj_mat = sparse(from,to,1,nb,nb);
node_vec0 = sparse([from to],1,1,nb,1);
A = adj_mat + speye(nb);  % Add 1's on the diagonal of the adjacency matrix
node_vec = A * node_vec0; % Vector containing all nodes connected to node_vec0

我可以重复最后一行k次,并从初始节点找到所有节点k步。

我想要做的是找到用于到达这些节点的每个分支的行(在分支列表中)。

有没有一种有效的方法呢?

谢谢!

0 个答案:

没有答案