Для алгоритмов кратчайшего пути я всегда выбирал C ++. Не должно быть никаких причин, по которым реализация C не была бы слишком простой, но C ++ предлагает сокращенное кодирование с контейнерами STL, которые можно использовать в начальной реализации, и только позже реализует оптимизированный алгоритм очереди, если тесты производительности и профилирование показывают, что нужно что-то иметь. лучше, чем предлагает STL.

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

Я пытался использовать эту реализацию Dijkstra Chttp://compprog.wordpress.com/2007/12/01/one-source-shortest-path-dijkstras-algorithm/, то есть для одной проблемы кратчайшего пути, вызывая функцию dijkstras () для всех моих 30 узлов. Как вы можете себе представить, это занимает много времени. В настоящее время у меня нет времени самостоятельно писать и отлаживать код, я должен как можно быстрее вычислить эти пути и сохранить их в базе данных, поэтому я ищу другое быстрое решение, готовое к использованию. какие-нибудь советы?

Я должен запустить его на последнем MacBook Pro с 8 ГБ оперативной памяти, и я хотел бы найти решение, которое занимает не более 24 часов, чтобы закончить вычисления.

Заранее большое спасибо!!

Eugenio

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

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