Advertisement

数据结构与算法(六):使用邻接矩阵实现Prim算法的最小生成树Python代码

阅读量:
复制代码
    # coding:UTF-8
    def prim(graph, vertex_num):
    INF = 1 << 10
    visit = [False] * vertex_num
    dist = [INF] * vertex_num
    #preIndex = [0] * vertex_num
    #对所有的顶点进行循环,首先是确定头结点
    #找到当前无向图的最小生成树
    for i in range(vertex_num):
    
        minDist = INF + 1
        nextIndex = -1
        #第一次循环时,nextIndex就是头结点
        #所以要把minDIst加上1,之后这个循环
        #的功能是找到基于当前i,邻接矩阵中i行到哪一行距离最小的那个位置作为下一个结点,当然前提是那个结点没有去过
        for j in range(vertex_num):
            if dist[j] < minDist and not visit[j]:
                minDist = dist[j]
                nextIndex = j
    
        print (next

全部评论 (0)

还没有任何评论哟~