В спецификациях для графиков, реализованных с помощью Списка смежности, я прочел, что добавление ребер выполняется за постоянное время НО это потребовало бы поиска узла с O (1). Я хотел бы получить наилучшие результаты. Вопрос в том, какой тип данных даст мне это. Hashmap был рассмотрен, наихудший случай с hashmap все еще O (n).
Могу ли я использовать массив для этого? Узлы могут иметь любой тип данных, дженерики. Можно ли это сделать с помощью некоторой хэш-функции, генерирующей значения индекса на основе одного узла? Это дало бы мне O (1). Конечно, я могу просто использовать заглавные буквы и использовать LinkedList с indexOf. Постоянное время лучше.