Форум программистов, компьютерный форум CyberForum.ru

Алгоритм Борувки - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 20, средняя оценка - 4.65
LL
Сообщений: n/a
26.11.2008, 12:05     Алгоритм Борувки #1
Нужна помощь в написании программы " Поиск минимального остовного дерева по алгоритму Борувки" на С++
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.11.2008, 12:05     Алгоритм Борувки
Посмотрите здесь:

Алгоритм Брезенхэма C++
C++ Алгоритм Дейкстры
Напишите алгоритм в С++. C++
C++ Алгоритм действий
Алгоритм Флойд C++
Алгоритм Коммивояжера C++
Алгоритм Крускала C++
Линейный алгоритм C++
C++ Написать алгоритм
C++ Рекурсивный алгоритм
C++ Волновой алгоритм
Алгоритм count_if C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
mik-a-el
CyberForum Owner
 Аватар для mik-a-el
56385 / 36135 / 231
Регистрация: 10.04.2006
Сообщений: 12,598
26.11.2008, 12:16     Алгоритм Борувки #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Какой-то код:
Код
template <сlass Graph, сlass Еdge> сlass MST
{ сonst Graph &G;
Vectоr<Еdge  *> a, b  mst;
UF uf;
PuЬlic:
MST(сonst Graph &G} : G(G), uf(G.V()), mst (G.V()+1)
{ a=edges<Graph, Edge>(G);
Int N, k=1;
For (int E=a.size(); E!=0; E=N)
{ int h,i,j;
b.assign(G.V(),0);
for (h=0;N=0;h<E;h++)
{Edge *e=a[h]
I=uf.find(e->v()),j=uf.find(e->w());
If(i==j)continue;
If (!b[i] || e-> wt()<b[i]->wt()) b[i]=e;
If (!b[j] || e-> wt()<b[j]->wt()) b[j]=e;
a[N++]=e;
}
For(h=0;h<G.V();h++)
If(b[h])
If(!uf.find(i=b[h]->v();j=b[h]->w())
{uf.unite9i,j);mst[k++]=b[h];}
}
}
}
Yandex
Объявления
26.11.2008, 12:16     Алгоритм Борувки
Ответ Создать тему
Опции темы

Текущее время: 08:13. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru