Está en la página 1de 1

Prim

#w es matriz con pesos de arista


#n es la cantidad de vertices
#s es el vertice inicial
#E es el conjunto de aristas del aem
def prim(w,n,s):
#Si v[i]=1, el vertice se agrego a la aem
#Si v[i]=0, el vertice no se agrego a la aem
v=[]
while(len(v) !=n):
v.append(0)
v[s] = 1
E= []
for i in range(0,n-1):
min = 10
agregar_vertice =0
e = []
for j in range(0,n):
if(v[j]==1):
for k in range(0,n):
if(v[k]==0 and w[j][k] < min):
agregar_vertice = k
e =[j,k]
min = w[j][k]
v[agregar_vertice] = 1
E.append(e)
return E

n = 6
s=0
w=[# 1,2,3,4,5,6 #9 no existe arista que los conecte
[9,4,2,9,3,9],#1
[4,9,9,5,9,9],#2
[2,9,9,1,6,3],#3
[9,5,1,9,9,6],#4
[3,9,6,9,9,2],#5
[9,9,3,6,2,9],#6
]
print(prim(w,n,s))

También podría gustarte