В голову приходит MergeSort, в котором два упорядоченных "полу-массива" за линейное время объединяются в один. Можно попробовать тот же фокус с обходом упорядоченного дерева, тогда вставка всё равно будет по одному элементу, но не от корня, а от листовых вершин.