У меня есть большой, связанный, разреженный граф в форме списка смежности. Я хотел бы найти две вершины, которые расположены как можно дальше друг от друга, то есть диаметр графика и две вершины, достигающие этого.
Меня интересует эта проблема как в неориентированном, так и в направленном случаях для разных приложений. В направленном случае я, конечно, забочусь о направленном расстоянии (кратчайший направленный путь от одной вершины к другой).
Есть ли лучший подход, чем вычисление кратчайших путей всех пар?
Изменить: "насколько это возможно", я, конечно, имею в виду "самый длинный самый короткий путь", т.е. максимум по всем парам вершин кратчайшего расстояния от одного к другому.