Найдите родительский узел дерева, чтобы создать максимально короткую высоту дерева

У меня есть неориентированный граф, представленный в виде матрицы смежности евклидовых весов. Я использую это для представления минимального остовного дерева для большего полного графа.

Что я хочу найти, так это единственный узел в графе, который при использовании в качестве корневого узла создает максимально короткую высоту дерева. Что я придумал, так это выполнение обхода в глубину, используя каждый узел в качестве корня и отслеживая самую короткую видимую высоту. Есть ли более быстрый способ сделать это?


person sgtFloyd    schedule 01.04.2011    source источник


Ответы (1)


Это классический вопрос алгоритмов. То, что вы ищете, называется центром дерева, и его можно найти с помощью простого итеративного алгоритма. На этот вопрос есть отличный ответ, объясняющий, как это сделать.

Надеюсь это поможет!

person templatetypedef    schedule 01.04.2011