哈希表 - 搜索不存在的密钥的时间复杂度

时间:2016-01-13 18:26:09

标签: hashtable time-complexity

让我们有一个带有n个密钥的哈希表,每个密钥只有一个桶的值。 假设我们寻找哈希表中不存在的密钥,这个操作的最坏情况时间复杂度是多少?

在我看来,它将是O(n)。散列函数必须检查其所有键,以便确定散列中不存在给定的键。

你怎么看?我对吗?

1 个答案:

答案 0 :(得分:1)

这取决于实施。我希望时间复杂度为O(1),因为本质上,哈希表不会遍历元素来查找元素,而是基于哈希方法直接在内存中索引。它超出O(1)的唯一时间是它需要重新调整内存大小或遇到冲突。当然,除此之外还有许多细节,以及影响事物的散列算法之间的差异。以下是查看更多信息的好主题:

Hash table runtime complexity (insert, search and delete)