prims-algorithm

    0熱度

    1回答

    我正在編寫一個Prim算法用於派生最小生成樹的實現。我的圖形是一個Map<String, ArrayList>,其中他們的鍵對應於狀態名稱,值是指向兩個鏈接的指針的邊緣。 Prim的算法說我應該從一個只包含起始節點的樹開始循環,直到我的樹等於我的圖。我如何確定TreeMap<String, ArrayList>和Map<String, ArrayList>的等價性?

    1熱度

    1回答

    以下是我使用Prim算法將連通圖轉換爲MST的僞代碼。然而,我得到了n^3的複雜度,而不是n^2。請幫我弄清楚不需要的步驟。我有一個鄰接矩陣「a」來存儲圖邊的權重,一個2D矩陣「檢查」存儲樹中已經存在的頂點「1」,其餘的爲「0」。 請注意,這也可以在nlog(n)中完成,但我不想引用任何現有的僞代碼,並希望自己嘗試。我將不勝感激優化我自己的方法的答案。 Initialize check. //ch

    4熱度

    2回答

    我知道Prim's和Dijkstra算法之間的區別。前者產生MST,後者產生從源到所有節點的最短路徑。在數學上,這些不一樣,所以我們並不總是期望這兩種算法產生相同的結果。 但是,雖然嘗試不同的例子,我得到了同樣的結果。 Prim算法和Dijkstra算法的僞碼看起來也非常相似。有人可以舉一個例子,說明普利姆公司生產的MST在與迪傑斯特拉解決時無法獲得,反之亦然。據我所知,還有一些其他的東西。這兩種

    2熱度

    1回答

    我正在使用帶有Java中的PriorityQueue的Prim's Algorithm使用最小生成樹。但是,我得到的總重量(樹的最小重量)是錯誤的。 我誤解總重量背後的概念,或者是有一些問題,我的代碼? public int getMinSpanningTree(Graph g) { int[][] matrix = g.getEdgeMatrix(); int totalVe

    1熱度

    1回答

    如何在Fibonacci堆的減鍵操作中獲得O(1)攤銷複雜性?只需在包含該元素的斐波那契堆中找到節點,就可以使用BFS執行O(n)個時間,這將導致無法獲得O(1)攤銷時間。 供參考,這是我實現BFS的搜索有問題的節點: public fHeapNode search(int x){ Stack<fHeapNode> stack = new Stack<fHeapNode>();

    0熱度

    2回答

    這是一箇舊的考試問題。 在什麼條件下(V,E),我們應該實現使用陣列(由頂點索引)的Prim的 算法的最小優先級的隊列,而不是一個堆(具有對數時間兩者提取物 - 的 實現最小和減少 - 關鍵操作)? 在(V,E)的什麼條件下,我們應該使用有序數組實現Prim的 算法的最小優先級隊列?

    0熱度

    3回答

    我必須使用基於最小堆的優先級隊列來實現Prim的算法。如果我的圖形包含在頂點A,B,C,和d與下面undirected鄰接列表... [它被分類爲(頂點姓名,體重到相鄰頂點)] A -> B,4 -> D,3 B -> A,4 -> C,1 -> D,7 C -> B,1 D -> B,7 -> A,3 粗糙圖: A-4-B-1-C | / 3 7 |/ D 優先級隊列的外觀如何

    0熱度

    1回答

    所以我得到這個僞代碼爲Prims算法, INPUT: GRAPH G = (V,E) OUTPUT: Minimum spanning tree of G Select arbitrary vertex s that exists within V Construct an empty tree mst Construct an empty priority queue Q that c

    -1熱度

    1回答

    我已經制定了一個程序來實現prim的算法,但它並不像它應該那樣工作。 頂點在優先級隊列上得到改變,一個頂點甚至不改變它的權重和父級。 的代碼是 #include<stdio.h> #include<stdlib.h> typedef struct info { int parent; int vertex; int weight; }info; type

    0熱度

    1回答

    好吧,因此對於我的算法類中的項目,我假設從.txt文件讀取迪斯尼樂園地圖中的所有點,然後使用prim算法來解決MST問題。 我的問題是我使用''分隔符將文件中的值解析到臨時數組中,然後將它們推送到列表中。一切工作都很好,直到將數組推入列表中,然後在程序的後面接收到值時,它不會返回任何值。我知道它很愚蠢,但希望你們都能幫忙。 我的代碼:http://pastebin.com/rS6VJ6iJ dis