Може ли някой да ми помогне, моля, как да намеря MST с помощта на алгоритъма PRIM. Маркирайте краищата на MST и напишете последователността, в която възлите се добавят към MST.. благодаря
Намиране на MST на насочен граф с помощта на алгоритъма на Prim
comment
Коя част от алгоритъма на Prim не разбирате?
- person Fred Foo   schedule 30.12.2010
comment
да, разбирам алгоритъма на prims, но в ненасочен grafgh.
- person devoidfeast   schedule 30.12.2010
comment
насочената графа е проблем за мен тук.
- person devoidfeast   schedule 30.12.2010
comment
@Programming_Kills Защо не спомена тази важна подробност във въпроса? Вижте това.
- person moinudin   schedule 30.12.2010
comment
Написах урок за това как да внедря алгоритъма на prim в c++, можете да го проверите, може би това ще помогне: cedricve.me/2012/05/15/c-prims-algorithm
- person   schedule 16.05.2012
Отговори (1)
Цитирайки Проблемът с насоченото минимално обхващащо дърво:
- Изхвърлете дъгите, влизащи в корена, ако има такива; За всеки възел, различен от корена, изберете входната дъга с най-малката цена; Нека избраните n-1 дъги са множеството S.
- Ако не се образува цикъл, G(N,S) е MST. В противен случай продължете.
- За всеки формиран цикъл свийте възлите в цикъла в псевдовъзел (k) и модифицирайте цената на всяка дъга, която влиза във възел (j) в цикъла от някакъв възел (i) извън цикъла според следното уравнение.
c(i,k)=c(i,j)-(c(x(j),j)-min_{j}(c(x(j),j)) тук c(x( j),j) е цената на дъгата в цикъла, който влиза в j.- За всеки псевдо-възел изберете входната дъга, която има най-малката модифицирана цена; Заменете дъгата, която влиза в същия реален възел в S, с новата избрана дъга.
- Отидете на стъпка 2 със свитата графика.
Основната идея на алгоритъма е да се намери заместващата дъга(и), която има минимални допълнителни разходи за елиминиране на цикъл(и), ако има такива. Даденото уравнение показва свързаните допълнителни разходи.
person
moinudin
schedule
30.12.2010