Я кодирую для удовольствия алгоритм для определения наилучшего порядка построения объектов N Building. Конечно, каждое здание имеет свои характеристики (например, стоимость, производство, время постройки и т. д.). Также существует полное упорядочение объектов Building на основе этих характеристик.
В какой-то момент моего динамического программирования мне нужна адаптированная структура данных, чтобы получить наилучший результат, достигнутый на данный момент, для построения k (k‹=N) здания. Мне нужна эта структура данных, чтобы каким-то образом «отобразить» набор k зданий (возможно, отсортированных, поскольку строительство здания b1, а затем b2 или b2, а затем b1 оставляет меня с теми же зданиями Nk, но, скорее всего, может привести к разным состояниям) в «лучший уровень» охвата до сих пор.
Вероятно, я мог бы использовать простой HashMap, но это подразумевает многократное повторение коллекций, содержащих одни и те же элементы, не принимая во внимание, например, что [b1,b2] является подколлекцией [b1,b2,b3,b4].
Я надеюсь, что я достаточно ясно выразился в этом, и я благодарю вас за вашу помощь :)