prims-algorithm

    0热度

    1回答

    以下代码的时间复杂度是多少?我正在用图和优先级队列的邻接矩阵表示来实现prim的算法。在我看来,时间复杂度是:当源连接到每个其他节点时,堆的最大增长可达到(n-1)的大小,并且在内部循环中,邻接矩阵的成本为O (n),因此总共为:其O((n-1)* n)→O(n^2),其中n是节点的数量。这个计算是否正确?所以堆不能改善我的最坏情况运行时间,因为邻接矩阵? from graph import ad

    0热度

    1回答

    我正在试图用Python 3实现Prim的算法,它计算它生成的MST的总权重。我正在做一些不寻常的事情,用一个“数组”来跟踪未访问的节点。 这里是我的代码: def Prim(Graph): # row 1 is "still in R" # row 2 is the connector vertex # row 3 is the cost total =

    0热度

    1回答

    我试图让Python中的1个功能普里姆算法,但它似乎并不奏效 def prim(edges): inGraph = ['A'] discovered = [] results = [] counter = 0 while True: tmplist = [] for i in edges: if inG

    0热度

    1回答

    我的算法类正在讨论Prim算法,作为查找加权图的最小生成树的方法。我们的教授让我们试着想一个Prim算法需要N^2次解决的图的例子(N =顶点数)。班上没有人能够想到他们的头顶,所以我问你。我很确定Prim的算法= O(N^2),所以这将是算法的最坏情况。 什么是Prim算法需要N^2个时间才能解决的图的一个很好的例子?

    0热度

    1回答

    我正在写一个小项目,允许您使用不同的算法生成随机迷宫,并使用不同的算法求解。我已经写深度优先搜索,A *搜索和递归backtracker对于一些算法,但我试图做一本正经 正如你可以看到它似乎产生迷宫的一部分,但不是其余。不同的颜色线是从我调整图像大小时起,不知道它为什么这样做。 我正在关注迷宫生成算法专用的维基百科页面的伪代码(https://en.wikipedia.org/wiki/Maze_

    -1热度

    1回答

    我想知道如何证明Prim算法的时间复杂度的上界。我知道Prim算法的时间复杂度是O(| E | log | V |),其中E是边,V是顶点,但它是什么意思的时间复杂度的上限呢?

    0热度

    4回答

    我有一行代码,我不完全理解,并希望一些更容易的替代。这是做什么的,使用weightList,它是一个相互连接的边的列表,并从图(邻接矩阵)中返回具有最低相应值的边列表。这是针对Prim的最小生成树问题。 edge = sorted(weightList, key=lambda e:graph[e[0]][e[1]])[0];

    -1热度

    1回答

    Prim算法 查找最小生成树算法。 首先选择权重最小的任意边缘,将其放入生成树中。 继续向树中已经存在的最小权重的树边添加树,从不形成树中已有边的简单电路。 停止添加n - 1个边。 我知道你必须从节点A开始。同时给出一个 列表中添加节点和/或边的顺序。 但我不知道确切的步骤来找到最小权重生成树。

    -1热度

    1回答

    std::priority_queue<int, vector<int>, std::greater<int> > pq; 我不明白性病的工作::越大优先级队列。 我正在用优先级队列替换minheap。 此代码取自 geeksForGeeks implementation of Prims algorithm using STL

    0热度

    1回答

    下面是我的代码为Prims算法,我写我自己的链表,因为我已经被要求。它适用于较小数量的顶点,但是当顶点很大时它失败(我得到812800作为所有大数字的顶点的答案)。 输入格式: 第一行有两个整数,表示图中的节点的数目和,表示在图中的边缘的数目。 下一行每个由三个空格分隔的整数组成,其中和表示无向边存在的两个节点,表示相应节点之间的边的长度。 最后一行有一个整数,表示起始节点。 如果同一对节点之间存