0
我正在爲學校作業建立一個圖表結構。它目前表示爲一個鄰接表:我使用的是一個hashmap,其中的鍵是圖的節點(頂點),值是邊的列表(包含源節點和目標節點指針的對象以及「權重」 )與關鍵節點相關聯。如何做一個toposort;創建度數
我的下一個任務是編碼拓撲排序,但我卡住了。我認爲最好的開始方式是給我的每個節點對象一個整數域用於indegree(通向節點的邊的數量),但是我不能想出一種方法將它分配給所有節點給我已經有的東西。
有什麼建議嗎?
感謝您的答覆!我應該進一步說明,我確實已經有一個Node對象;這些節點是我的HashMap中的關鍵。 – Haskell
那麼你爲什麼不執行以下操作:還可以創建圖表的概念,即物體內部有你已經有了HashMap中也含有作爲它的一部分的API方法addEdge(SRC節點,節點DST,INT重量)。每次調用addEdge創建一個邊緣對象,並插入到你的HashMap的時候,你遞增DST Node對象,讓你知道很多邊緣的方式在該節點內到達現場。 – pabrantes
太棒了!謝謝,我現在有一個有效的拓樸排序。 – Haskell