clc;
clear;
A=[0 1 0 0 0 ;
1 0 1 0 1 ;
0 1 0 0 0 ;
0 0 0 0 0 ;
0 1 0 0 0 ];
[m,n]=size(A);
for i = 1:m
degree=0;
for j = 1:n
if(A(i,j))
degree=degree+1;
end
end
node(i).index=i;
node(i).degree=degree;
node(i).color=0;
end
[new,index]=sort([node.degree],'descend');
k=0;
while 1
k=k+1;
for i=1:m
if(node(index(i)).color==0)
node(index(i)).color=k;
break;
end
end
if(i==m)
break;
end
for j=1:m
if(node(j).color==0&&A(index(i),j)==0&&index(i)~=j)
node(j).color=k;
end
end
end
for i=1:m
node(i).color
end