首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >HashSet的时间复杂度

HashSet的时间复杂度
EN

Stack Overflow用户
提问于 2021-02-06 03:00:28
回答 1查看 23关注 0票数 1

我正在和一个朋友讨论使用mod函数作为散列函数的Hashset设计。这种实现的时间复杂度似乎是O(N/K),其中N是存储在集合中的项目总数,k是存储桶的总数。这个时间复杂度假设所有项目都分布在所有存储桶中,并且存储桶的平均大小为N/K。

我把自己搞糊涂了,因为我相信时间复杂度应该是O(N)。因为时间复杂度是最差的性能。在这里,最坏的情况可能是所有N个项目都进入相同的存储桶,而我们要查找的值可能在存储桶的末尾。请帮帮我。

EN

回答 1

Stack Overflow用户

发布于 2021-02-06 03:09:35

您说得对,最坏的情况是所有项目都放入一个存储桶中。均匀分布的项目是最好的情况。也就是说,如果k保持不变,则O(N/k)与O(N)相同,因为常数可以忽略。我不希望k成为查找的输入的一部分。如果k可以变化,那么它是不同的,但最坏的情况仍然是O(N)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66069103

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档