-1

мне нужно найти минимальное расстояние между двумя узлами в неориентированном графе, вот некоторые деталиКакой алгоритм + представление следует использовать для нахождения минимального расстояния пути в огромном разреженном неориентированном графе?

  • График неориентированных и огромный (не из узлов в порядке 100000)
  • Графика is редкий, нет ребер меньше, чем нет узлов
  • Я Не интересуюсь фактическим путем, только расстояние.

Какое представление и алгоритм следует использовать для a) Эффективность пространства b) Эффективность времени?

EDIT: Если это имеет значение,

  • В wieghts являются все не нулевые целые положительные числа.
  • Ни один узел не соединяется с самим собой.
  • только одно ребро между двумя соседними узлами

ответ

0

Это зависит от весов ребер. Если они неотрицательны - Dijkstra подходит вам. Если ваш график плоский, вы можете использовать A*.

Если у вас есть отрицательные веса, вы должны использовать Bellman-Ford.