【问题标题】:Construct the adjacency matrix of a regular network构造正则网络的邻接矩阵
【发布时间】:2016-06-10 21:44:52
【问题描述】:

对不起,如果它看起来太简单了,但我正在尝试构建一个常规网络的邻接矩阵,使得每个节点的度数为k,节点数为N。每个节点都连接到k/2 在环形网络的每一侧的最近邻居。没有循环和多条边。对于一个简单的案例N=8 和k=4,我们有:

  0 1 1 0 0 0 1 1 
  1 0 1 1 0 0 0 1
  1 1 0 1 1 0 0 0
  0 1 1 0 1 1 0 0
  0 0 1 1 0 1 1 0
  0 0 0 1 1 0 1 1
  1 0 0 0 1 1 0 1
  1 1 0 0 0 1 1 0

我写了这样的代码:

    A (1:n,1:n) = 0
    do j = 1,n
    do i = 1,n
       if ( (i-k/2<=j) .and. (j<=i+k/2) )  A(i,j) = 1
       if ( (j-k/2<=i) .and. (i<=j+k/2) )  A(i,j) = 1
       if (i==j) A(i,j) = 0
    enddo
 enddo

问题是krows 上下。也许应该应用一个周期性的束缚。 我搜索了许多类似的问题,但是没有找到。

【问题讨论】:

    标签: algorithm graph adjacency-matrix


    【解决方案1】:

    这可以不带任何条件地解决。

    vertex x 一侧的 k/2 个邻居可以映射为:

    A(x , ((x - 1 + 1) % N) + 1) = 1
    
    A(x , ((x - 1 + 2) % N) + 1) = 1
    .
    .
    .so on till k/2 neighbours
    

    另一侧的vertex x 的 k/2 个邻居可以映射为:

    A(x , ((x - 1 + N - 2) % N) + 1) = 1
    
    A(x , ((x - 1 + N - 1) % N) + 1) = 1
    .
    .
    .so on till k/2 neighbours
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-03-17
      • 2010-12-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多