我有大量的順序整數我需要做一個查找,即我需要獲得一個串行整數ID的偏移量。問題是我寧願不將整個表加載到內存中,以便由於內存限制而構建散列表/字典,因此該怎麼辦?基於文件的查找表
可能工作的一個解決方案是將一個文件存儲在第一個存儲的整數是使用的最低ID,然後您爲每個ID編寫一個零整數數組,最大值(需要時附加)並寫入ID在正確的位置。例如,如果最低的ID是1000,並且您想要在20000處獲取偏移量,則只需檢索位置10000 + 20000-1處的整數。
使用內存映射這種技術應該表現很好。有沒有人有類似的問題,這是一個很好的解決方案,還是有更好的辦法?
數據多久改變一次? – SLaks 2010-11-17 01:08:48
編號將被連續添加到它後面(可能會有一些細微的差距),稍後可能會填充,但通常當設置了編號時,它會被設置爲 – Homde 2010-11-17 01:42:10