У продовження відповіді Byte56 я хотів би зазначити, що у вашому конкретному наборі даних використання дистанції Манхеттена як вашої евристичної функції насправді завжди буде ідеальним евристичним в тому сенсі, що воно завжди повертає фактичну вартість шляху (якщо припустити, що існує нічого не перекриває стежки).
Слід також зазначити, що всі вузли в правильному напрямку (або по горизонталі, або по вертикалі) дадуть однакову очікувану відстань (адже до мети існує багато однаково коротких шляхів). Ви повинні знати, що ваша черга пріоритетів (відкритий набір) повинна, у разі зв'язаних пріоритетів, видалити спочатку останній доданий вузол (LIFO - Last In First Out). Роблячи це, ви вивчите лише ті вузли, які опиняться на оптимальному шляху . Якщо ви вивчите однаково підходящі вузли FIFO (First In First Out), ви ефективно вивчите всі вузли, які є частиною найкращого шляху. Ця проблема виникає через те, що до вузла цілі існує кілька однаково хороших шляхів.