2013-02-24 64 views
1

我有一個具有當前值的變量,但是當我更改它首先需要將過去值存儲在某個數據結構中的值時,它將向我顯示過去X許多值。用於存儲X天變量歷史記錄的數據結構

這是對過去值進行各種計算,如最近值的平均值等。

我唯一的想法是使用這個隊列,因爲我只需要過去的X值,然後我實現了一個FixedSizedQueue,可以自動出列舊值。

從那時起,我發現我至少在默認的隊列實現中看不到一個隨機值。但是,另外如果一個人做這個工作,他們會很慢,需要迭代所有的值。

所以我想知道有沒有什麼辦法可以有效地做到這一點?我唯一能想到的另一種方法是創建一個數組,並簡單地實現一些推送功能,將所有元素移動一個索引位置。但那似乎太過浪費。如果這些是唯一的兩個選項,那麼如果我每次需要訪問數據結構中的每個值20次,哪一個更好,並且大小將被存儲50個值?

這是一個性能將會非常重要的地方,因爲在迭代數據時,每個被「記錄」的變量都會改變至少一百萬次,因此不必擔心我會提前進行優化。謝謝你,我很感激!

回答

相關問題