Кратчайший путь между 2 ячейками в матрице в случайных местах - PullRequest
0 голосов
/ 30 апреля 2020

Я очень новичок во всем этом, так что извините, если что-то кажется очевидным.

Я искал повсюду объяснения. Я могу только найти, как добраться из одного угла в другой. или (0,0) - (n -1, n-1). Моя проблема, скажем, у меня есть 4 * 4 сетки 16 ячеек. У меня есть источник (0,1) и пункт назначения (4,3). Каждая ячейка содержит значение, и мне нужно добраться до пункта назначения с наименьшими затратами.

     0 1 2 3
     _ _ _ _
0 - |2|1|3|2|
1 - |1|3|5|1|
2 - |5|2|1|4|
3 - |2|4|2|1|

Я подумал, может быть, попытаться создать смежную матрицу, но я не вижу, как это работает. Является ли алгоритм Дейкстры наилучшим способом, и являются ли графики лучшим способом представить это как структуру данных?

Есть ли способ сделать это таким образом?

1 Ответ

0 голосов
/ 30 апреля 2020

Да Алгоритм Дейкстры подходит для этой задачи. Вы можете изменить ячейки на вершины и соединить соседние ячейки как ребра.

Для реализации алгоритма

см. this
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...