Как оптимизировать алгоритм Дейкстры для одного кратчайшего пути между двумя узлами?

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

Тем не менее, я не знаю точно, что делать. То, как я это вижу, мне нечего делать, я не могу изменитьсяd[] или жеprev[] потому что эти массивы объединяют некоторые важные данные для вычисления кратчайшего пути.

Единственное, о чем я могу думать, это остановить алгоритм, когда найден путь, то есть разорвать цикл, когдаmini = destination когда он отмечен как посещенный.

Могу ли я сделать что-нибудь еще, чтобы сделать это лучше или этого достаточно?

РЕДАКТИРОВАТЬ:
Хотя я ценю высказанные мне предложения, люди все равно не могут точно ответить на мои вопросы. Все, что я хочу знать, это как оптимизировать алгоритм для поиска только кратчайшего путимежду 2 узлами, Мне пока не интересны все другие общие оптимизации. Я говорю, что в алгоритме, который находит все кратчайшие пути от узла X ко всем остальным узлам, как я могу оптимизировать его для поиска только определенного пути?

П.С .: Я только что заметил, чтоfor петли начинаются с1 до тех пор<=почему это не может начаться в0 и идти до<?

Ответы на вопрос(3)

Ваш ответ на вопрос