我必須解決一個類似這樣的問題:
我給了一個數字N來表示我擁有的點數。每個點具有兩個座標:X和Y如何使用堆來優化Prim的最小生成樹算法?
我能找到用下列公式兩個點之間的距離:
ABS(X2-X1)+ ABS(Y2-Y1),
( x1,y1)爲第一點的座標,(x2,y2)爲第二點的座標,絕對值爲abs()
。
我必須找到最小生成樹,這意味着我必須讓所有的點與邊的總和最小。 Prim的算法很好,但它太慢了。我讀到,我可以使用heap使其更快,但我沒有找到解釋如何做到這一點的任何文章。
任何人都可以解釋一下Prim的算法是如何處理堆的(一些示例代碼會很好,但不是必須的),請問?
什麼是_heap_? –
數據結構。 –
@ kiss-o-matic真的嗎? –