Professional Documents
Culture Documents
rbol de Expansin
Dado un grafo conexo, no dirigido G. Un rbol de
expansin es un rbol compuesto por todos los
vrtices y algunas (posiblemente todas) de las
aristas de G. Al ser creado un rbol no existirn
ciclos, adems debe existir una ruta entre cada
par de vrtices.
Algoritmo de Kruskal
Para poder comprender el algoritmo de kruskal ser
necesario revisar primer el tutorial deUnion-Find.
Como trabaja:
Primeramente ordenaremos las aristas del grafo por su
peso de menor a mayor. Mediante la tcnica greedy
Kruskal intentara unir cada arista siempre y cuando no
se forme un ciclo, ello se realizar
mediante Union-Find.
Como hemos ordenado las aristas por peso
comenzaremos con la arista de menor peso, si los
vrtices que contienen dicha arista no estn en la
misma componente conexa entonces los unimos para
formar una sola componente mediante Union(x , y),
para revisar si estn o no en la misma componente
conexa usamos la funcin SameComponent(x , y) al
hacer esto estamos evitando que se creen ciclos y que la
arista que une dos vrtices siempre sea la mnima
posible.
Algoritmo en Pseudocdigo
1mtodoKruskal(Grafo):
2inicializamosMSTcomovaco
3inicializamosestructuraunin
find
4ordenamoslasaristasdelgrafo
porpesodemenoramayor.
5para cada arista equeunelos
vrticesuyv
6si uyvnoestnenlamisma
componente
7agregamoslaaristaeal
MST
8realizamoslaunindelas
componentesdeuyv
Ejemplo y cdigo paso a paso
Tengamos el siguiente grafo no dirigido:
En la
imagen podemos observar que ambos vrtices no estn
en la misma componente, por tanto realizamos la
Union( 6 , 7 ):