我的要求是我正在爲WP7做一個應用程序,所以我必須照顧對象的內存消耗。我有大約1000條記錄對硬編碼數據的數據。所以字典將比二維數組容易訪問,但它比二維數組消耗更多的內存。另外哪些在搜索中會很快。雅我知道搜索將很快在字典中,我們可以很容易地通過給定的關鍵字獲得相應的鍵的值,但它是在內部做線性搜索。使用字典比2D數組需要更多的內存嗎?
0
A
回答
3
前進用字典。 1000條記錄不是很多。而在字典搜索的代碼是非常簡單的:
var val = dict[key];
而在二維數組搜索代碼,以及。你排序你的陣列?這可能會加快查找速度。但也比線性搜索更復雜。然後你需要確保排序的屬性保持不變。
哦,然後你將不得不維護另一個查找實現。
不要去那裏!
當你用完內存時,也許你可以開始考慮優化字典到其他結構。但是你不會耗盡內存。 YAGNI。
相關問題
- 1. 需要爲2D元組數組和未知大小的2D指針數組分配內存嗎?
- 2. StringBuilder使用比字符串連接更多的內存嗎?
- 3. 使用字典comprehenion,需要比1點的值更解壓
- 4. Python:對象比字典更渴望內存嗎?
- 5. 哈希需要比列表更多的內存?
- 6. HashMap是否需要比鏈表更多的內存?
- 7. 使用比GIF更多內存的PNG
- 8. JVM需要分配一個字符數組到多少內存?
- 9. ScrollViewSuite示例代碼使用比所需內存更多的內存?
- 10. 2D需要GL_DEPTH_TEST和GL_DEPTH_BUFFER_BIT嗎?
- 11. 需要虛擬內存嗎?
- 12. 使用比可用內存更多的內存
- 13. IEnumerators是否需要比數組更多的資源?
- 14. 使用字典的多維數組
- 15. FINDSTR和REGEX返回比我需要的更多的數字
- 16. 有兩個相同的數組需要雙重內存嗎?
- 17. C函數,需要const 2d數組
- 18. 多維數組的PHP foreach我需要使用一個鍵嗎?
- 19. 熊貓使用大量更多的內存用於存儲比要求
- 20. 如何更改字典內數組中字典中的值?
- 21. 字典和內存管理數組
- 22. 將數據保存在2d字典中?
- 23. 我是否需要釋放C#中數組使用的內存?
- 24. 在Map變得比數組更有效之前需要存儲多少項目
- 25. icCube內存 - 需要多少?
- 26. 2D /多維數組字符
- 27. 應用re.sub替換比需要更多的文字
- 28. 爲什麼Python2.7字典使用比Python3字典更多的空間?
- 29. 在內存中設置的2d數組與模擬2d數組的1d數組連續相似嗎?
- 30. 巨大的陣列需要更多的內存空間比它應該
字典通常在內部使用散列表進行近O(1)查找,忽略散列碼衝突。它沒有爲查找鍵的值進行「線性搜索」。 – DTing 2011-03-24 07:55:18