У меня есть сеть «сущностей» (Objects), каждая из которых содержит информацию о том, каковы «следующие» (следующие) сущности, которые могут быть любыми между ничем и многими. Кроме того, «следующие» сущности содержат информацию для своих «следующих сущностей» (которые могут быть совершенно новыми или предыдущими, только что связанными с ним).
Итак, A знает, где B a C, B знает, где A, D и E есть, и так далее. Обратите внимание на двустороннее направление A и B. Нет ограничений на количество или направление соединений.
Какая коллекция (самая производительная) была бы лучшей (наиболее производительной) для симуляции такой сети, если бы мне приходилось часто просматривать объекты (много тысяч раз)? Что было бы лучшей коллекцией, если бы я искал строки вместо объектов? Есть ли разница? Будет ли любой другой тип объекта быстрее?
Спасибо всем!
Редактировать: я пытаюсь сохранить огромное количество «воспоминаний» (исторических событий в симуляции) в сети / графике, затем найти определенную память и проследить соединения с ее соседями и соседи соседей и т. д., ища «комбинации» воспоминаний, которые соответствуют моему шаблону поиска. Например, я проверяю, существуют ли сущности "A, B, C и снова A" в этом порядке.