Изменения

Перейти к: навигация, поиск

Алгоритмы на деревьях

31 байт добавлено, 18:57, 11 декабря 2013
Нет описания правки
Возьмём любую вершину V и найдём расстояния до всех других вершин.
d [v] = \max_max{u, v \in V, u \ne v} dist(u, v)
Возьмём вершину U такую,что d[u] >= d[t] для любого t.Снова найдём расстояние до всех остальных вершин.Самое большое расстояние-диаметр дерева.
Расстояние до остальных вершин удобно искать алгоритмом BFS.
ПсевдокодРеализация:int diameter(graph g) {
bfs(int v) - заполняет массив d[n] расстояниями до всех вершин.
v = u = w = 0;
bfs(v);
Анонимный участник

Навигация