Что ж, если вы что-то делаете с n
предметами, вполне вероятно, что вам придется потратить как минимум O(n)
время на выполнение заданий.
Первое, о чем я подумал, - это прокрутить все n
предметов и вставить каждый в дерево. Поскольку вставка O(log n)
, это O(n * log n)
время ... но она полностью игнорирует, отсортированы ли ваши n
элементы.
Если ваши n
элементы отсортированы, вы, вероятно, сможете построить двоичное дерево поиска за O(n)
время. Бьюсь об заклад, аналогичная вещь может работать для дерева 2-4 B.