我目前使用列表,字典和數據表來存儲我所有的數據,但我想知道是否有更好的數據結構或方法(在較低級別上)存儲數據以便高效地使用存儲器。什麼數據結構是最好的存儲數百萬數據,但佔用最少的內存
任何幫助將不勝感激。
我目前使用列表,字典和數據表來存儲我所有的數據,但我想知道是否有更好的數據結構或方法(在較低級別上)存儲數據以便高效地使用存儲器。什麼數據結構是最好的存儲數百萬數據,但佔用最少的內存
任何幫助將不勝感激。
這取決於您的數據和使用情況。如果只想存儲數據,那麼最有效的方法是使用數組作爲整數或浮點數(或任何其他普通的舊數據)和字符串池。
如果您需要索引數據,請按鍵搜索,例如,在大小方面嘗試使用最有效的數據結構之一。使用什麼鍵類型無關緊要 - 整型,浮點型或字符串,trie可以用來創建索引。整數或任何其他鍵可以表示爲二進制字符串並插入到特里結構中。有很多不同的trie數據結構,它們使用某種壓縮來更有效地存儲數據,例如 - Array Mapped Trie。您還可以在最低級別添加一些壓縮,例如使用基本128整數編碼或Golomb編碼。
取決於數據。 – Amber
我最擔心的是長字符串。 – Dreamer78692
和...取決於數據的預期用途。對於例如一些容器使用更多的內存來允許快速訪問數據或快速插入等... – mjv