小编Pau*_*nes的帖子

散列字节字符串

我正在处理个人项目,文件压缩程序,并且我的符号字典出现问题.我需要将以前遇到的字节字符串存储到结构中,以便我可以快速检查它们的存在并检索它们.我一直在假设哈希表最适合这个目的,因此我的问题将与哈希函数有关.但是,如果有人可以建议更好的哈希表替代方案,我会全力以赴.行.所以问题是我无法为这些字节串提供一个好的哈希键.我想到的一切都有非常不均匀的分布,或者需要太长时间.以下列出了我正在使用的情况:

  1. 所有字节字符串的长度至少为两个字节.
  2. 哈希表的最大大小为3839,很可能会填充.
  3. 测试表明,与任何给定字节相比,与较低的7位相比,最高阶位的设置可能性显着降低.
  4. 否则,字符串中的字节可以是0到255之间的任何值(我正在使用任何格式的原始字节数据).
  5. 我在UNIX环境中使用C语言.我更喜欢坚持使用标准库,但它不需要可移植到其他操作系统.(IE unistd.h很好).
  6. 安全无关紧要.
  7. 速度是一个高度关注的问题.
  8. 尺寸不是很严重,因为它不会被写入文件.但是,考虑到存储的字节字符串的潜在大小,存储空间可能在压缩期间成为问题.

c hash byte hashtable

2
推荐指数
1
解决办法
367
查看次数

标签 统计

byte ×1

c ×1

hash ×1

hashtable ×1