Skip to main content
. 2023 May 18;17:1168864. doi: 10.3389/fnins.2023.1168864

Algorithm 1.

Fast algorithm to find a Hamiltonian loop.

         for i in range(m): //row
           //x direction communication distance
           dx[i][0] = 1 if i == 0 else 0
           //y direction communication distance
           dy[i][0] = 0 if i == 0 else -1
           if n == 2:
           dx[i][n - 1] = -1 if i == m-1 else 0
           dy[i][n - 1] = -1 if i == m-1 else 0
           else:
              dx[i][n - 1] = 0 if i % 2 ==0 else -1
              dy[i][n - 1] = 1 if i % 2 ==0 else 0
           for j in range(1,n-1): //column
               if j = =1 and i != m - 1:
              dx[i][j] = 1 if i % 2 ==0 else 0
               dy[i][j] = 0 if i % 2 ==0 else 1
          else:
           dx[i][j] = 1 if i % 2 ==0 else 1
         dy[i][j] = 0