我有傳入的數據流有以下值。
國家,城市,州什麼數據結構最適合嵌套值和值的計數?
伴隨着最大數量的唯一值存儲(例如50,22,12)。
我需要設計一個系統來保持上述值及其子值的出現次數。如果存在多於最大數量的值,則不是存儲實際值存儲ETC.
國家和發生
美國和發生
城市的數量和出現
在規定的時間間隔要求的數的計數是計算所有罪狀亞型計數一起。 例如所以來自這個系統的輸出值將會是。
國家A 435,國乙264,市C 300
國家B 123,國乙825,C市321
國家A 153,國家B 122,C市534
我的系統強制下列限制。
1.不能使用任何數據庫系統來存儲和檢索值。
2.速度和使用簡單性需要在內存中(因此限制存儲的最大值)
3.值以特定間隔清零。
4.這些值是嵌套的,我不能使用單獨的表來分別跟蹤3個字段。
我想過使用自定義數據結構來存儲嵌套值和它的計數。 我可以通過其他方式實現以下設計。哪些數據結構可以使用? 是否有任何現有的例子做類似的事情?
注意:這不是一項家庭作業,我正在開發自己的應用程序,而且我堅持爲此需求設計優雅的解決方案。如果您認爲這個問題對於StackOverflow來說過於籠統或不恰當,那麼在關閉或投票之前請留下備註,該論壇應該用於提出這個問題。任何積極的反饋讚賞。
僞代碼:
class Location {
// local storage
private val subLocationCounter = HashMap[Location, Long];
// method to add new location
addLocation(Location loc)
// method to get current count of locations
getCounts()
// method to get current count of locations values recursively
}
很抱歉,但要求也不是很清楚。如果您可以顯示您想要實現的自定義數據結構的僞代碼,其他人可能可以幫助您改進或提出更好的數據結構。 –
感謝您的時間和帖子@AmnaAli。對於我的自定義數據結構,我想過使用一個簡單的類位置,它具有一個Map。我打算實例化併爲每個嵌套的國家 - >州 - >城市不斷增加位置值。'''code class Location {0}私有val subLocationCounter = HashMap [Location,Long]; //方法來添加新的位置 //方法得到的位置當前計 //方法來獲取位置值的當前計遞歸 } ''' –
user300313
請把你的代碼在你原來的職位,使用'編輯'。 – WhatsUp