2013-11-15 3 views
0

Возможно ли найти самый короткий путь с использованием Dijkstra от узла А до узла B, только передавая узлы, имеющие свойство x с определенным значением? Это также возможно, если учитывать свойство отношения?Dijkstra Traversal relationship property

Если да, не могли бы вы объяснить мне, как?

Спасибо, что сообщили мне кое-что в любом случае.

С наилучшими пожеланиями, Йохан,

+0

Мне любопытно, почему у нас внезапный всплеск вопросов, связанных с дийкстрами, я не могу это объяснить. Обратите внимание, что это просто мое любопытство, которое хочет быть удовлетворенным OP, ваш вопрос - прекрасный. – arynaq

+0

@arynaq Это, вероятно, потому, что ряд университетов начали новые семестры, а Дейкстра типична для начала семестра. В любом случае, как просто добавить оператор if при добавлении узла в очередь и проверить, удовлетворяет ли оно условию? – Thijser

ответ

1

Узлы, которые имеют данное свойство, и ребра, соединяющие их образуют подграф оригинала. Тривиально адаптировать алгоритм Дейкстры для работы над подграфом: просто игнорируйте вершины и ребра, которые не принадлежат.

+0

@downvoter: что мне не хватает? Есть ли какая-то тонкость, которая делает этот ответ неправильным? – Joni