Алгоритм Дейкстры: что делать, если есть два или более узла с минимальным весом?
в алгоритме Дейкстры что делать, если в алгоритме есть два или более узлов с минимальными весами в точке?
в Википедии:http://en.wikipedia.org/wiki/Dijkstra%27s_algorithm на шаге нет. 6, он говорит
"установите незаявленный узел, отмеченный наименьшим предварительным расстоянием, как следующий "текущий узел" и вернитесь к шагу 3."
Что делать, если есть два или более узлов с "минимальным временным расстояние."
может кто-нибудь помочь мне с алгоритмом?
1 ответов
Короткий Ответ:
просто выбери любой. Если у вас нет другой эвристики для работы, вы не можете сказать, что было бы лучше выбрать.
Немного Больше Объяснений
подумайте о сортировке некоторых элементов в массив:
9 6 3 3 8
сортировка с самым низким первым является
3 3 6 8 9
если вы должны были запросить этот массив, чтобы определить самый низкий, ответ 3
. Который 3
не имеет значения.
аналогично если бы у вас было больше информации. Скажем, например, что эти Инты на самом деле были поплавками и были отсортированы по целым частям. Вы можете получить массив:
3.2 3.1 6.0 8.5 9.2
здесь у вас есть еще одна эвристика для работы, вы можете проверить десятичную часть тоже, и вы можете определить, что 3.1
самые низкие.