Есть ли алгоритм для вычисления кратчайшего дерева (не пути)?

Привет Перецветы,

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

Итак, каков наиболее подходящий алгоритм для моих потребностей, чтобы начать читать? Надеюсь достаточно быстро :)

Большое спасибо !


person geeko    schedule 28.05.2011    source источник


Ответы (1)


Вы ищете направленное минимальное остовное дерево (древовидное дерево), которое является оптимальным разветвлением.

http://en.wikipedia.org/wiki/Chu%E2%80%93Liu/Edmonds_algorithm

person davin    schedule 28.05.2011
comment
Спасибо, похоже на то, что есть :) Есть идеи, как установить максимальное ограничение ветвления? - person geeko; 28.05.2011
comment
@geeko, я не знаю, как это реализовать. Навскидку я знаю, что это не простое изменение (это можно легко доказать). Но у меня нет решения... - person davin; 28.05.2011