2015-12-03 22 views
2

无向随机图的邻接矩阵I具有无向随机图的n X n邻接矩阵A,所以Aij可以是或。如果Aij是这意味着有ij节点之间的边缘。如果它是那意味着它们之间没有边缘。资产重组基于连接

我想根据顶点的度数重新排列矩阵。所有顶点的度数小于等于k,我想把它们放在最后。假设有m这样的顶点,所以最后m我的新邻接矩阵的行和列将代表这些顶点。

我想在MATLAB中实现它。我不知道如何有效地解决它。只有一个人认为我知道如何找到这样的顶点。

a = 1:n; 
ver = a(sum(A) < k+1); 

任何帮助表示赞赏。

回答

4

由于您的图形是不定向的,因此您的邻接矩阵A是对称的。正如你已经注意到,你可以简单地通过A的行(或列)相加告诉顶点的程度:

deg = sum(A, 2); 

现在,您可以根据自己的程度

[sd si] = sort(deg, 'decrease'); %// sort in a decreasing order 

您可以sort顶点使用分类指数(si)重新安排A

A = A(si,si); 

请注意,您必须应用相同的置换来都行和A列,否则......

现在你的图形是由顶点的有序程度较小程度的一次自然会在A结束。

+1

有人发现应用列相同的排列! –

+1

是的。好一个。我完全忽略了基于连接的排序可能性。再次感谢。 – Rajat