我正在編寫有趣的算法編碼,以確定構建N個建築物對象的最佳順序。當然,每座建築都有自己的特點(如成本,生產,施工時間......)。基於這些特徵,還存在對Building對象的全部排序。以動態編程算法將集合「映射」到狀態的數據結構
在我的動態規劃中的某個時刻,我需要一個適應的數據結構來檢索到目前爲止構建k(k < = N)Building所達到的最佳結果。我需要這個數據結構以某種方式「映射」k建築物的集合(可能排序,因爲構建建築物b1,然後是b2或b2,然後b1使我具有相同的Nk建築物,但最有可能導致不同的狀態)到「最佳狀態」到目前爲止。
我大概可以使用簡單的HashMap,但它意味着重複包含相同元素的大量集合,而不考慮[b1,b2]是[b1,b2,b3,b4]的子集合,例如。
我希望我自己做的,一個足夠清楚的,我感謝你的幫助:)
不是100%明確的問題,但可能有一個類BuildingSet可能有用,它可以包含Building和BuildingSet的對象?然後你可以讓BuildingSet x = [b1,b2]和BuildingSet y = [x,b3,b4]。 – Cephron 2011-05-28 15:18:57