Prim算法的python实现

#Prim算法的python实现

介绍:首先prim算法我使用的是与Dijkstra实现一致的方式方法,代码部分甚至不需要过多地修改就可以直接拿函数去使用.

def prim(matrix,non_matrix,n,Maxline):
    comp={0}
    uncomp={i+1 for i in range(n-1)}
    while((not uncomp)!=True):
        list_uncomp=list(uncomp)
        list_comp=list(comp)#将集合comp转换成列表进行索引操作
        Min=Maxline
        for i in range(len(list_uncomp)):
            v_point=list_uncomp[i]      #假设要取的在集合uncomp的点
            for j in range(len(list_comp)):
                uv_point=list_comp[j]   #取出已知集合comp的一个点
                if(matrix[v_point][uv_point]

前提需要我们把列表放入函数参数。


总结

Prim算法与Dijkstra算法十分地相识,都是基于最短加权边来进行路径的搜索,从而将搜索的边加入集合汇总输出。

你可能感兴趣的:(算法,python,数据结构,算法)