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