Тема: Прошу помощи с нерешенной проблемой реализации алгоритма Дейкстры.

Ответить в теме
Показано с 1 по 1 из 1
  1. Вверх #1
    Новичок
    Пол
    Мужской
    Возраст
    25
    Сообщений
    17
    Репутация
    10

    По умолчанию Прошу помощи с нерешенной проблемой реализации алгоритма Дейкстры.

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

    Я дважды проверил представление своего графа, чтобы убедиться, что веса ребер не являются отрицательными. Я также подтвердил, что моя реализация приоритетной очереди правильно поддерживает узлы минимального расстояния. Когда я выполняю алгоритм в разных тестовых сценариях, пути вывода не соответствуют ожидаемым результатам.
    Код:
    for neighbor in graph[node]:
        new_distance = distances[node] + edge_weight(node, neighbor)
        if new_distance < distances[neighbor]:
            distances[neighbor] = new_distance
            priority_queue.push(neighbor, new_distance)
    Я использовал метод с ручкой и бумагой, отлаживая свой код и сравнивая его с псевдокодом и инструкциями, которые я узнал из чтения блога scaler. Явных недостатков или ошибок не вижу. Я также пытался запустить алгоритм в небольших сетях, чтобы сузить круг проблем, но все равно получаю неточные результаты.


Ответить в теме

Социальные закладки

Социальные закладки

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения