prims-algorithm

    0熱度

    1回答

    下面是我的代碼爲Prims算法,我寫我自己的鏈表,因爲我已經被要求。它適用於較小數量的頂點,但是當頂點很大時它失敗(我得到812800作爲所有大數字的頂點的答案)。 輸入格式: 第一行有兩個整數,表示圖中的節點的數目和,表示在圖中的邊緣的數目。 下一行每個由三個空格分隔的整數組成,其中和表示無向邊存在的兩個節點,表示相應節點之間的邊的長度。 最後一行有一個整數,表示起始節點。 如果同一對節點之間存

    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