Я работаю над изображениями для личного проекта, и я застрял на одном шаге (более того, это относительно простой шаг). Мой вопрос, кстати, не связан с изображениями.модификация алгоритма кратчайшего пути Dijkstra
Я вычисляю значения int для каждого пикселя на изображении. И я хочу найти путь с минимальной стоимостью между пикселями (узлами). На самом деле у меня есть работающая реализация алгоритма A *. Но я не хочу использовать это, потому что я не хочу ограничивать «карту» узлами, которые вы можете передавать или не передавать только. Я хочу, чтобы каждый узел мог быть передан, но с затратами. Некоторые узлы будут стоить дорого, а некоторые - нет. Но не будет узлов, которые нельзя передать.
Я не думаю, что мне нужно дать какой-либо код, потому что это очень изолированная часть проекта. Поэтому я не хочу никого изнашивать. Но в основном у меня есть объект карты, который имеет список узлов. И узлы имеют id, x, y позиции. (верхний, нижний, левый и правый пиксели) и ссылку на узел, чтобы знать, откуда я пришел сюда и т. д.
Надеюсь, я мог бы выразить разницу между алгоритмом кратчайшего пути Дейкстры. Как я могу изменить его соответствующим образом? Или кто-нибудь может рекомендовать другой способ сделать это?
Я не понимаю, почему вам нужна модификация. Обе звезды A * и Дейкстра работают с расходами. В чем проблема? – Ishtar
@Ishtar Я думаю, что в * есть 2 вида узлов. узлы, которые вы можете пройти, и что вы не можете (стены). Я не прав? И для Dijkstra я не знаю, как использовать вершины и ребра. В моем случае они оба одинаковы, и как только вы передаете узел, вы добавляете стоимость этого узла к общей стоимости. – user1125953