Я думаю, вам нужно углубиться в более простое исследование значения внутри группы структур, даже больше, если вы планируете поиск среди повышенного числа.
Как создаются структуры, как они собираются и как вы их отслеживаете, есть ли общий ключ, который вы можете использовать для заказа при создании?
Вы должны сосредоточиться на сортировке их, пока вы добавляете ее ко всей структуре, таким образом, вы избегаете массивного всплеска вычислений при каждом выполнении поиска. Выберите хороший алгоритм (пример сортировки AVL), чтобы вы могли добавить / удалить / найти O (log (n))).