說我給出一個數組和函數調用replace
:批量數組操作比順序操作更快嗎?
void replace(from, to, items[])
,其任務是在items
的元素替換數組元素的範圍[from, to)
。
我會假設事先知道數組的最大大小,所以我可以確保數組永遠不會溢出。
我的問題是,如果我給定的置換(例如,形式(from, to, items)
的元素)的列表,有可能是我與比執行每個操作順序地更快時間複雜度獲得最終得到的數組?
換句話說,事先知道操作的順序有沒有什麼好處呢,還是比逐一給每個操作(就漸近時間複雜度而言)有什麼好處?
注:看起來這個問題很混亂;我做了而不是打算暗示替換給定範圍的元素的數量與該範圍的大小相同!它可能會更少或更多,從而導致轉變,問題的關鍵在於詢問是否事先了解它們可以避免在最壞情況下轉移等額外工作。
+1這是一個很棒的答案,謝謝! – Mehrdad 2013-04-30 05:28:47