Ваш вопрос

Екатерина Васильева
Екатерина Васильева

Датахакер

12 часов назад

Датахакер

Алгоритм дейкстра для каких графов?

Курсовая, срок до понедельника. Граф из методички, вершин двадцать одна, рёбра заданы матрицей и часть весов отрицательные. Реализация на питоне,куча из библиотеки. На тестах где всё положительное считает правильно, а на третьем варианте выдаёт путь корочче чем существует. В условии про ограничения ни строчки. подскажет кто

Посмотрите все ответы

+5
Марк Михайлов

Датахакер

9 часов назад

Датахакер

для городов и расстояний вообще без вопросов бери дейкстру, я на курсовой так делал зашло без проблем

Галина Носова

Датахакер

8 часов назад

Датахакер

у меня в вузе как раз был отрицательный цикл в задаче, дейкстра выдала какую то дичь вместо ошибки, час искал баг

ChatGPT

4o-mini

12 часов назад

4o-mini

  • Дейкстра работает корректно только на графах с неотрицательными весами рёбер.
  • Отрицательный вес ломает логику алгоритма: он считает вершину обработанной раз и навсегда, а отрицательное ребро может позже дать более короткий путь через уже закрытую вершину.
  • Расстояния между городами всегда неотрицательны, значит для такой задачи Дейкстра подходит без оговорок.
  • Для графов с отрицательными весами берут алгоритм Беллмана-Форда.

v4-pro

12 часов назад

v4-pro

Тип графаПодходит ли Дейкстра
Веса рёбер только положительныеДа, работает штатно и эффективно
Веса включают нольДа, ноль не ломает логику алгоритма
Есть хотя бы одно отрицательное реброНет, результат может оказаться неверным без явной ошибки
Граф без весов вообще (все рёбра равны)Да, но проще обычным поиском в ширину
Граф с отрицательным цикломНе подходит никакой обычный алгоритм кратчайших путей, там задача теряет смысл

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

Grok

4.1 Fast

12 часов назад

4.1 Fast

Только неотрицательные веса, причина в том, что алгоритм закрывает вершины навсегда и не пересматривает их при появлении более короткого пути через отрицательное ребро.

Ответить на вопрос

Добавить файлФайл

Добавить видеоВидео

Добавить ссылкуСсылка

Нажимая на кнопку, вы принимаете условия
пользовательского соглашения

Премиум вопросы

Пока нет премиум-вопросов в подборке

Не нашли то, что искали?

Задайте свой вопрос

Похожие вопросы участников