吃苹果的梨 发表于 2015-12-26 10:32

k-shell代码

本帖最后由 吃苹果的梨 于 2015-12-26 10:37 编辑

%function =k_shell(mixedsig)
%邻接矩阵
%  A=load('cdbBA_4000_5_0_.txt');   %里边的数据结构好像是每2个一组,例如 3 4 表示一组,表示点3和节点4有连接。
%  
%  
%  TT=A(:, 1:2)+1;
%  maxtt=max(max(TT));
%  mixedsig=zeros(max(max(TT)));
%  len=length(TT);
%  for i=1:len
%      mixedsig(TT(i,1),TT(i,2))=1;
%      mixedsig(TT(i,2),TT(i,1))=1;
%  end
%  disp('已转化为邻接矩阵!')

=distri(mixedsig);
mixedsig=
function =kshell(mixedsig)
mixedsig=;
mixedsig=;

zzz=0;
j=1;   %第j层
t=1;  %
tad=mixedsig;  %邻接矩阵
k=0;
ii=1;
ret_m=[];  %返回值;  i,j  : 第i层:所有节点
len=length(mixedsig);  %矩阵长度
tt=1;
n=1;
nn=1;
m_t=[];
m_tt=[];
m_ttt=[];
p=1;
while (tt==1)   %控制最高层结束
    sss=sum(sum(tad))/(maxtt*maxtt)
    if sum(sum(tad))==0  %所有元素为0,则退出
        break;
    end
    t=1;  %控制第j层  计算
    while(t==1)  %  每循环一次,tad改变,去掉度数小于j的节点;直到没有度数小于j的节点
        t=0;
        ii=1; %第j层第ii个节点
        for i=1:len  %从矩阵1至len行,  去掉小于j的节点
            lll=i/len
            k=sum(tad(i, : ));   %计算i行度数
            if k==0  %度数为0,下一个i值
                % t=1 ;  %

                continue;
            elseif k<=j  %度数小于j层
                t=1; %控制下一次还要循环
                tad(i, : )=0;  %i节点加到j层,将度数至为0,所有i行值至为0
                tad(:,i)=0; %相应i列至为0

                ret_m(j,ii)=i;   %将i节点加到j层

                m_ttt=union(ret_m(j,ii),m_ttt);
                for n=1:len   %判断其他行有无因为 将tad(:,i)元素设为0 而所有行变0
                    if sum(tad(n, : ))==0


                        ii=ii+1;
                        ret_m(j,ii)=n;
                        m_t=n;
                        m_tt = intersect(m_ttt,m_t);
                        if  length(m_tt)==0  %length(m_t)~=0 &&


                            m_ttt=union(ret_m(j,ii),m_ttt);
                            m_t=[];
                        end
                    end



                end %for n=1:len
            end % if k==0
             ii=ii+1;
        end %end of  i=1:len

    end  % end of while(t==1)
    j=j+1;
    ii=1;
end   % end of while(tt==1)
disp(ret_m);







czy/晔 发表于 2016-5-4 11:23

cdbBA_4000_5_0_.txt'这个txt文件怎么写的?

czy/晔 发表于 2016-5-4 11:23

cdbBA_4000_5_0_.txt'这个txt文件怎么写的?

koreyoshistar 发表于 2020-5-15 03:43

谢谢分享
页: [1]
查看完整版本: k-shell代码