2011-11-22 9 views
0

Manhattan Distanceヒューリスティックを使用してNxN 2dアレイで検索を駆動する方法を知りたいと思います。私は、次のマンハッタン距離を持っている: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]); 
    } 

私がUPまたはDOWN、LEFT、RIGHTに空のタイルにタイルを移動します。キューに追加するために、上記の関数を使用してノードの近傍を選択するにはどうすればよいですか?私はそれを二重ループまたは二重ループに入れなければなりませんか?私はf = g + hを使用しています

私はパズルの初心者ですので、少し苦労して理解しています。私は助けが必要です。

答えて