2017-08-14 182 views
0

從數組的第一個元素而不是第4000個讀取時,是否有任何速度差異?數組中的任何其他元素也一樣。讀取數組的第一個元素或第4000個元素會更快嗎?

主要問關於C++,但任何語言都可以。對於數組,它是一個整數數組。

+0

哪種語言/平臺?視情況而定。 – Julian

+2

它取決於(很多事情)。 – user3528438

+0

編寫一個測試應用程序,並以您使用的任何語言進行基準測試。結果告訴你什麼? –

回答

4

如果您正在調用數組中的某個元素,並且知道需要檢索的元素數組中的確切位置,則速度沒有差別。但是,如果涉及到循環,或者某種類型的功能通過數組搜索特定值,則速度可能會受到影響。

2

應該是一樣的。如果您知道要查找的元素的索引,則無需擔心,如果不是,請在循環訪問大型數組時小心。

大概取決於一種語言,但我相信它在Java或C/C++中是真的,其餘的我真的不能說。

好吧,現在我看到你在談論C++,所以你可以肯定它是一樣的。

1

在C++中是完全一樣的,這就是爲什麼數組是非常好的結構,以便執行算法以及取決於該事實的很多事情。

1

在存儲器訪問東西給出一個明確的地址是O(1)

訪問的數組元素通過取數組的起始位置,然後將偏移完成。

egif ARR = 0x000001f0

訪問ARR [0] = 0x000001f0 + 00000000

訪問ARR [256] = 0x000001f0 + 0x00000100

[聲明:可以通過OS和虛擬化變化和和...並且不用擔心]

相關問題