Скажи мне дают массив, а функция называется replace
:Операции массивного массива быстрее, чем последовательные операции?
void replace(from, to, items[])
, чья работа состоит в том, чтобы заменить элементы массива в диапазоне [from, to)
с элементами items
.
Я предполагаю, что максимальный размер массива известен заранее, поэтому я могу гарантировать, что массив никогда не будет переполняться.
Мой вопрос, если я дал список замен (например элементы вида (from, to, items)
), это возможно для меня, чтобы получить конечный результирующий массив с быстрее временной сложностью в чем выполнять каждую операцию последовательно?
Другими словами, есть ли какое-либо преимущество в знании последовательности операций заблаговременно или это не лучше, чем давать каждую операцию по одному (в терминах асимптотической сложности времени)?
Примечание: Кажется, что вопрос запутан; Я сделал , а не намерены подразумевать, что количество элементов, заменяющих заданный диапазон, совпадает с размером этого диапазона! Это может быть меньше или больше, вызывая сдвиг, и точка вопроса заключалась в том, чтобы спросить, знали ли они заранее, чтобы избежать дополнительной работы, например, сдвига в худшем случае.
+1 это замечательный ответ, спасибо! – Mehrdad