在大图中查找具有特定长度的循环

时间:2016-07-28 16:07:36

标签: matlab

我将在一个大图中有效地找到长度为4的所有循环。我有以下代码用于此目的,但效率不高。

[rows, cols, s] = find(Mystructure);
for i = 1:size(cols,1)
a = rows(i);
b = cols(i);
C=cols(find(rows==b));
 for j=1:size(C)
   c=C(j);
   D=cols(find(and(rows==c, rows~=a)));
   for k=1:size(D)
   d=D(k);
   if(d~=a && d~=b)
   if(find(and(rows==d, cols==a)))
       FourStructure=[FourStructure;a b c d] ;
   end
   end
   end
  end
end

Mystructure是一个表示我的图形的稀疏矩阵。当且仅当i,j连接时,Mystructure(i,j)才是一个。

0 个答案:

没有答案