免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: ljok30
打印 上一主题 下一主题

[算法] 数字压缩求解 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2009-06-11 17:50 |只看该作者
这个,如果原始串是稀疏分布,而且总数不多的话,确实可以采用映射

或者搞个数据库,来个动态索引,新产生的原始串根据算法分配索引,然后按索引反查即可得到原始串。不过对于随机原始串这个方法无效

另外就是采用压缩的方式,对于这么短的串,估计没有效果

论坛徽章:
0
12 [报告]
发表于 2009-06-11 19:21 |只看该作者
哈夫曼编码是不是可行呢?

论坛徽章:
0
13 [报告]
发表于 2009-06-11 19:45 |只看该作者
原帖由 kestre1 于 2009-6-11 19:21 发表
哈夫曼编码是不是可行呢?


采用压缩算法估计没太大效果,毕竟这么短的字符串

论坛徽章:
0
14 [报告]
发表于 2009-06-11 22:30 |只看该作者

回复 #1 ljok30 的帖子

换个思路可以满足你的要求, 建立一个hash表吧。

论坛徽章:
0
15 [报告]
发表于 2009-06-12 09:46 |只看该作者
完全随机字符串的话,hash也不管用,如果用到时间戳之类的倒是可以简化一下

论坛徽章:
0
16 [报告]
发表于 2009-06-12 10:35 |只看该作者
原帖由 雨过白鹭洲 于 2009-6-11 17:50 发表
这个,如果原始串是稀疏分布,而且总数不多的话,确实可以采用映射

或者搞个数据库,来个动态索引,新产生的原始串根据算法分配索引,然后按索引反查即可得到原始串。不过对于随机原始串这个方法无效

另外 ...




我觉得做3~6位的索引映射是比较好的,上报员上报一串26位数字总有个时间,编号之类的吧?这边你产生这个唯一的索引和那串数字,然后让上报员上报索引就好了

论坛徽章:
0
17 [报告]
发表于 2009-06-12 10:43 |只看该作者
不过貌似产生这26位数已经是这个思想了....

论坛徽章:
0
18 [报告]
发表于 2009-06-12 11:02 |只看该作者
你这需求跟永动机差不多

论坛徽章:
0
19 [报告]
发表于 2009-06-12 12:29 |只看该作者
又想一下,给每个数字串分配一个序号,然后让服务员只报这个序号就行,通过这个序号再在数据库查询得到实际的数字,这样应该可行,压缩的话,几乎不可能

[ 本帖最后由 ssafa 于 2009-6-12 12:30 编辑 ]

论坛徽章:
0
20 [报告]
发表于 2009-06-12 13:41 |只看该作者
原帖由 雨过白鹭洲 于 2009-6-11 17:50 发表
这个,如果原始串是稀疏分布,而且总数不多的话,确实可以采用映射

或者搞个数据库,来个动态索引,新产生的原始串根据算法分配索引,然后按索引反查即可得到原始串。



正解
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP