2011-11-22 1 views
0

NxN 2d 배열에서 검색을 수행하기 위해 Manhattan Distance heuristic을 사용하는 방법을 알고 싶습니다. 나는, 오른쪽, 위쪽 또는 아래쪽 왼쪽에 빈 타일에 타일을 이동합니다Manhattan Distance to NxN 2D Array에서 검색

private int manhattan(int[] pos, int tile) { 
     int[] dest = new int[] { 
      (tile - 1) % BOARDSIZE, (tile - 1)/BOARDSIZE 
     }; 
     return Math.abs(dest[0] - pos[0]) + Math.abs(dest[1] - pos[1]); 
    } 

: 나는 다음과 같은 맨해튼 거리를 가지고있다. 큐에 추가하기 위해 위의 함수를 사용하여 노드의 이웃을 선택하려면 어떻게해야합니까? Ilo는 for 루프 또는 double for에 넣어야합니까? 나는 f = g + h를 사용하고있다

나는 퍼즐의 초보자이기 때문에 이해하기 어려워. 도움이 필요해.

답변