存储和搜索原始数据类型的最佳方法是什么?可以解决时间约束和内存约束的数据结构?网站/书籍,我可以从中获得有关这些事情的清晰知识?
答案 0 :(得分:0)
试试这本书
Java中的数据结构和算法作者:Adam Drozdek第二版
它帮助了我很多,它有助于内存管理,数据压缩,并有助于深入了解数据结构和算法。
要将内存约束作为数据结构中的内容,请停止使用动态内存分配(动态编程),因为它可以节省内存。
答案 1 :(得分:0)
如果您准备牺牲数据结构中添加元素和删除元素的灵活性,则排序int[]
是您最好的选择就记忆效率而言。
由于数组已排序,您可以执行二进制搜索。
如果此阵列的初始加载量为几百万英寸,之后有可能只增加几百个整数,您可以使用int[]
之类的其他数据结构补充ArrayList
到临时保留这些添加内容,然后在大小显着增长时将ArrayList
合并到int[]
。
可以通过使用一些相当小的未使用的负数设置该元素来处理删除,但是这不是一个非常干净的解决方案。或者,如果删除很少,您可以通过补充数据结构再次处理删除。
对于特定场景而言,所有这些都是最好的 - 没有什么能比得上所有情况都好。
希望它有所帮助!!