Documente Academic
Documente Profesional
Documente Cultură
Kru Skal
Kru Skal
si Predescu Iulia
Descrierea algoritmului
Implementarea algoritmului
Aplicatie practica
Exemplu
Programul in C++
teoria grafurilor care gsete arborele parial de cost minim pentru un graf
conex ponderat (graf in care fiecare muchie are asociat un cost). Cu alte
cuvinte, gsete submulimea muchiilor care formeaz un arbore care
include toate vrfurile i care este minimizat din punct de vedere al
costului. Dac graful nu este conex, atunci algoritmul gsete un arbore
parial de cost minim pentru fiecare component conex. Algoritmul lui
Kruskal este un exemplu de algoritm greedy.
cum testm dac muchia selectat formeaz sau nu cicluri cu cele deja selectate.
Reprezentarea informaiilor:
n numrul de vrfuri
m numrul de muchii din graf
G graful dat, reprezentat prin lista muchiilor (un vector cu m
componente, fiecare component fiind o structur n care
reinem cele dou extremiti i costul muchiei)
A arborele parial de cost minim, reprezentat ca un vector n-1
componente n care vom reine indicii din G ai muchiilor
selectate
c vector cu n componente n care vom reine evidena
componentelor conexe (c[i] = componenta conex creia i
aparine vrful i)
640
60
600
E inutil sa executam toate cele trei conexiuni, numai doua din ele sunt
suficiente pentru o comunicare in bune conditii intre oricare 2 orase.
De exemplu, legatura Timisoara Arad ar putea lipsi, caz in care
necesarul de cablu devine 1240 km.
640
600
640
60
Exemplu:
Notm cu n numrul de vrfuri din graf (n=|X|). Iniial
considerm c nici o muchie din graf nu a fost selectat, deci
fiecare vrf din graf este vrf izolat. Cu alte cuvinte, la
momentul iniial avem o pdure format din n arbori, fiecare
arbore fiind format dintr-un singur vrf. La fiecare pas se
selecteaz o muchie de cost minim care nu a mai fost
selectat i care nu formeaz cicluri cu muchiile deja
selectate.
1
1
1
1
12
1
1
1
1
1
3
1
1
15
1
1 1
14
1
4
Pasul
Cod C++: