2011-11-22 86 views
0

我想知道如何使用曼哈頓距離啓發式來驅動我在NxN二維數組中的搜索。我有以下曼哈頓距離:曼哈頓距離驅動搜索NxN二維陣列

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]); 
    } 

我將瓷磚移動到空的瓷磚左,右,上或下。如何使用上述函數選擇節點的鄰居以添加到隊列中?我是否必須把它放在雙重循環中?我正在使用f = g + h

我是一個謎題的初學者,所以我努力瞭解一點點。我需要幫助。

回答