Pau*_*nes
2
c
hash
byte
hashtable
我正在处理个人项目,文件压缩程序,并且我的符号字典出现问题.我需要将以前遇到的字节字符串存储到结构中,以便我可以快速检查它们的存在并检索它们.我一直在假设哈希表最适合这个目的,因此我的问题将与哈希函数有关.但是,如果有人可以建议更好的哈希表替代方案,我会全力以赴.行.所以问题是我无法为这些字节串提供一个好的哈希键.我想到的一切都有非常不均匀的分布,或者需要太长时间.以下列出了我正在使用的情况:
- 所有字节字符串的长度至少为两个字节.
- 哈希表的最大大小为3839,很可能会填充.
- 测试表明,与任何给定字节相比,与较低的7位相比,最高阶位的设置可能性显着降低.
- 否则,字符串中的字节可以是0到255之间的任何值(我正在使用任何格式的原始字节数据).
- 我在UNIX环境中使用C语言.我更喜欢坚持使用标准库,但它不需要可移植到其他操作系统.(IE unistd.h很好).
- 安全无关紧要.
- 速度是一个高度关注的问题.
- 尺寸不是很严重,因为它不会被写入文件.但是,考虑到存储的字节字符串的潜在大小,存储空间可能在压缩期间成为问题.