Вопрос ВСЕГДА сводится к тому, какой оператор является наиболее распространенным: доступ или добавление.
Если у вас есть неупорядоченный список, его добавление не займет много времени, а доступ к определенным элементам займет дополнительное время.
Если у вас есть отсортированный список, добавление к нему занимает больше времени, но доступ к нему происходит быстрее.
Большинство приложений тратят большую часть своего времени на доступ к данным, а не на добавление к ним, что означает, что (время выполнения) накладные расходы при создании отсортированного списка обычно будут сбалансированы или покрыты временем, сэкономленным при доступе к списку.
Если в ваших данных много оттока (что не похоже на то, что он есть), то поддерживать отсортированный список не всегда целесообразно, потому что вы будете постоянно прибегать к списку, так как он требует значительных затрат процессора.
Сложность структур данных имеет значение, только если они не могут быть отсортированы полезным способом. Если они могут быть отсортированы, то вам придется идти по эвристике
количество доступов: количество изменений
чтобы определить, является ли сортировка хорошей идеей.