免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2158 | 回复: 5
打印 上一主题 下一主题

[算法] 保存多个整数的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-12-28 19:27 |只看该作者 |倒序浏览
每行记录有固定个Int类型的值(大概能有80左右),而且记录行有很多,希望能找到一个方法能节省这些Int类型值的存储空间。
因为这些值大多数情况下很小,所以采用二进制保存也不是很好。
不知道有没有什么算法,能把这些整数值整合在一起,需要取哪个的时候,按逆向算法就能获取。

论坛徽章:
0
2 [报告]
发表于 2007-12-28 21:18 |只看该作者
位域?

论坛徽章:
0
3 [报告]
发表于 2007-12-28 22:22 |只看该作者
位域的话对于大部分都是很大的数比较合适,现在的问题是很多都是小整数,而且很多都是0。如果用32*40bit来表示的话,就有很多的无用的0。空间也不是很经济。

论坛徽章:
0
4 [报告]
发表于 2007-12-29 09:58 |只看该作者
不明白你说的“逆向算法”是什么意思。

你可以只保存不为0的数据,保存信息中记录位置信息即可。
具体什么方式存储,可以三元组或十字链表等,你可以参考数据结构中稀疏矩阵的压缩存储。

论坛徽章:
0
5 [报告]
发表于 2007-12-29 10:44 |只看该作者
最简单的就是每一批数据,例如 1k, 10k, 用 zip API 压缩, 保存

论坛徽章:
0
6 [报告]
发表于 2007-12-29 13:10 |只看该作者
保存之后的话肯定是要用压缩算法压缩的,现在关键是先减少内存占用率。

对于所谓的“逆向算法”,我的意思就是说,通过某种方法把这几个整数整合到一起,要能够从这个结果方便的获得各个整数。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP