说我给出一个数组和函数调用replace
:批量数组操作比顺序操作更快吗?
void replace(from, to, items[])
,其任务是在items
的元素替换数组元素的范围[from, to)
。
我会假设事先知道数组的最大大小,所以我可以确保数组永远不会溢出。
我的问题是,如果我给定的置换(例如,形式(from, to, items)
的元素)的列表,有可能是我与比执行每个操作顺序地更快时间复杂度获得最终得到的数组?
换句话说,事先知道操作的顺序有没有什么好处呢,还是比逐一给每个操作(就渐近时间复杂度而言)有什么好处?
注:看起来这个问题很混乱;我做了而不是打算暗示替换给定范围的元素的数量与该范围的大小相同!它可能会更少或更多,从而导致转变,问题的关键在于询问是否事先了解它们可以避免在最坏情况下转移等额外工作。
+1这是一个很棒的答案,谢谢! – Mehrdad 2013-04-30 05:28:47