Возможно, Список не то, в чем Вы нуждаетесь.
, Возможно, TreeSet был бы лучшим контейнером. Вы добираетесь, O (зарегистрируйте N), вставка и извлечение и заказанное повторение (но не позволит дубликаты).
LinkedHashMap мог бы быть еще лучше для Вашего варианта использования, проверить это также.
Russel and Norvig, 2ed page 99 говорит:
Второе решение состоит в том, чтобы гарантировать, что оптимальный путь к любому повторяющемуся состоянию всегда будет первым, по которому следует путь - как в случае с поиском с равномерной стоимостью. Это свойство выполняется, если мы наложим дополнительное требование на
h (n)
, а именно требование согласованности (также называемое монотонностью ).
Когда вы » Говоря о функциях, монотонность означает, что функция увеличивается или уменьшается, но не то и другое одновременно. Другими словами, порядок в диапазоне остается неизменным во всем домене. По этой причине в вашей проблеме решение поддерживает кратчайший путь независимо от того, с какого шага вы начинаете.
Свойство допустимость эвристики означает, что стоимость достижения цели никогда не переоценивается (т.е. оптимистично) (стр. 98).