Algo найти диаметр графа выглядит следующим образом:диаметр Нахождение графа с использованием BFS
- Run BFS на любой arbirtray вершине и вспомнить последний узел посещаемый (скажем, т)
- Run BFS от т и rememver последний посещенный узел (например, t ')
- кратчайшее расстояние между t и t' будет диаметром графика.
Это то, что я узнал, и она работала хорошо, пока я не нашел следующий график:
A------G-----C------D
|
E------F------B
Если я бегу BFS от A
, я получаю AGECF"DB"...
и BFS от B
дает BFCEDGA....
, so d(B,A)=3
должен быть диаметр.
Но если я бегу BFS от A
в AGECF"BD"
и чем запустить BFS из D
, который дает DCBGFAE
, d(D,E) = 4
должен быть диаметр
Что пошло не так? Разве этот алго не работает?