【发布时间】:2015-10-19 23:48:14
【问题描述】:
我有一个数组,其中索引兼作“项目集合的标识符”,数组的内容是组号。组数落入从 0..N 开始的有限范围,其中 N 1000 但
有没有办法对这个数组进行空间优化,因为整个数组的大小可以达到多个 MB。感谢任何指向相关优化算法/技术的指针。仅供参考:我使用的编程语言是 cpp。
【问题讨论】:
-
重复值的存在并不自动意味着可以压缩数据。毕竟,您的计算机内存中有几十亿个 1 和 0,但我们无法通过保持规范的 1 和 0 并让每个位指向正确的值或类似的东西来节省任何空间。虽然我们可以通过每个值使用 13 位而不是 16 位来节省空间,但达到 12 位/数据或更低需要利用某种其他类型的数据结构。
-
嗯...任何数据结构的指针来利用这里的模式?
-
最有效的技术需要确切了解数据中的模式类型,但是像霍夫曼编码、游程编码和其他压缩技术这样的通用策略可以以访问为代价来节省空间时间。
标签: arrays optimization duplicate-data memory-optimization