Учитывая две позиции и список всех позиций, найдите самый быстрый путь - PullRequest
0 голосов
/ 02 января 2019

У меня есть две точки (x1, y1) & (x2, y2) и список всех возможных позиций, которые могут быть пройдены в формате (x, y), как мне найти / оценить самый быстрый путь между двумя значениями.

Я реализую это на Java, но язык не имеет большого значения.


Некоторые ограничения и дополнительная информация по этому вопросу:

  • Значения x1 & x2 никогда не будут прежними, если только y1 = y2, это непотому что эти позиции всегда расположены на ребре блока.
  • Не всегда может быть путь между (x1, y1) & (x2, y2) (для проверки непрерывности между путями
  • Не все возможные точки будут подключены к (x1, y1) или (x2, y2)
  • Кратчайший путь не требуется, но было бы удобно узнать
  • Был бы рад простонекоторые подсказки о том, в каком направлении двигаться или какие алгоритмы следует изучать
  • Путешествие может происходить по диагонали ((x, y) & (x + 1, y + 1) считаются соседями)

1 Ответ

0 голосов
/ 03 января 2019

Ответ, который я искал, состоит в том, чтобы использовать A * в качестве алгоритма поиска, он находит кратчайший путь между двумя точками с учетом карты всех узлов.

...