【发布时间】:2013-07-25 12:35:22
【问题描述】:
我有一个大小为 80 位的大型索引及其对应的数据,要存储在我需要搜索的数据结构中。我们可以在哈希表中使用 80 位索引吗?或者有没有更好的替代数据结构,它会花费恒定的时间进行查找(搜索)?
编辑:
我认为我的问题并不清楚......这是设置 --- 我有数百万个文件,我将为这些文件生成一个大小为 80 位(以安全地表示文件)的加密哈希陷门,每个 80 -bit陷门将与其数据一起存储在像哈希表这样的数据结构中。现在由于 80 位陷门的域大于哈希表的范围,肯定会发生冲突。但我需要将唯一的 对存储在数据结构中。如何使用哈希表实现这一点?或者如果有任何其他替代DS?
编辑 2:
假设我创建了一个哈希表,并且在添加键时发生了冲突(例如 x 和 y 按顺序),因为哈希函数为这些键生成了相同的索引 (i)。但是通过使用冲突解决技术(例如双重哈希),y 被插入到不同的位置j,而不是i。我明白到这一步。现在,如果我想根据键 y 进行搜索,哈希表会返回位置 i 还是 j?如果不是i,它将如何返回j(所需的确切记录)?它是否存储碰撞次数的计数器(探针)?
【问题讨论】:
标签: c search indexing data-structures hashtable