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



Извиняюсь, если не по теме. Кто знает, какие есть алгоритмы лучше Дейкстры для поиска кратчайшего пути на взвешенных графах с высокой связанностью?Скажем, сотни тысяч узлов с сотнями ребёр в каждом узле (типично, например, для соц. сетей)? Желательно не жадные до памяти.В гугле не забанен, но вываливается слишком много, хочется помощи коллективного разума. Спасибо!
831   7  

Comments

  1. Владислав Ярмак
    Владислав Ярмак 5 лет назад
    Алгоритм Беллмана-Форда. Там не обязательно держать в памяти всю матрицу частных решений, можно только последний столбец.
    • Сергей Аксёнов
      Сергей Аксёнов 5 лет назад
      Ага, видел такую косточку, сейчас копну глубже, спасибо!
  2. Николай Мазуркин
    Николай Мазуркин 5 лет назад
    Вам между чем и чем путь надо искать? Между двумя вершинами? Между одной вершиной и всеми остальными вершинами сразу? Отрицательные веса на ребрах есть?
    • Сергей Аксёнов
      Сергей Аксёнов 5 лет назад
      Между двумя вершинами, отрицательных весов нет.
    • Николай Мазуркин
      Николай Мазуркин 5 лет назад
      В википедии написано что алгоритм дейкстры с кучей является самым быстрым для таких условий для общего случая.
    • Сергей Аксёнов
      Сергей Аксёнов 5 лет назад
      Nikolai Mazurkin это я понимаю, но тут случай не совсем общий из за высокой связности плюс возможность предварительных вычислений. Например заранее найти топ N самых связных вершин (дружелюбных юзеров в случае соцсети) и пойти от них и выбранных вершин алгоритмом типа радиальной заливки.
  3. Andrew Aksyonoff
    Andrew Aksyonoff 5 лет назад
    Было бы прикольно репку на гитхабе с тестовыми данными и писькомеркой. Штоп знающие могли прям помериться, а любопытствующие (типа меня) позырить результат!!!