【问题标题】:Collisions in a HashTable Data StructureHashTable 数据结构中的冲突
【发布时间】:2018-10-03 22:00:29
【问题描述】:

我需要帮助理解哈希表,如果我错了,请纠正 e。哈希表通过加密键来计算带有键的数组的索引。生成的加密是索引。冲突是不可避免的,因为很有可能获得相同的索引,我们可以使用链接在数组的每个索引内创建一个链表。哈希表的运行时间是 o(1)

【问题讨论】:

  • 散列密钥比说加密密钥要好,因为这通常是有损操作,而且保密不是目标。 “哈希表的运行时间是 o(1)”是希望的,但不确定。我建议将这篇文章的 3 个问题重新写成一个问题,以使其不那么广泛。

标签: c data-structures hashtable


【解决方案1】:

这是正确的,哈希表有 O(1) 的查找和 O(n) 的存储空间。 散列函数用于计算我们在散列表中存储元素的位置的索引。当发生碰撞时,我们将它们链接起来。

【讨论】:

  • "一个哈希表有 O(1) 的查找和 O(n) 的存储空间。" --> 可能是O(1),也可能是O(n) 存储空间。高质量的 HT 将接近O(1) 查找和O(n) 存储空间,但它更像O(1)-ish 和O(n + ht_size) 存储空间。许多因素。
  • 非常正确,您的回答更准确。
猜你喜欢
  • 2018-07-21
  • 1970-01-01
  • 2018-03-13
  • 1970-01-01
  • 1970-01-01
  • 2022-01-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多