java - 用 O(1) 搜索链表

标签 java linked-list hashtable

我在接受采访时被问及哈希表,我必须解释结构链。

有人问我如何以 O(1) 的复杂度在链表中搜索元素。

我们真的能用 O(1) 找到吗?

谢谢

最佳答案

不,绝对不是。链接列表没有快速查找项目的巧妙方法 - 它的时间复杂度为 O(n)。

如果你有足够好的哈希码,在哈希表中搜索仅需 O(1)。如果您的所有 key 都具有相同的哈希码,那么无论您使用什么寻址方案,其复杂度都是 O(n)。

关于java - 用 O(1) 搜索链表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14965550/

相关文章:

java - 插件 com.android.ide.eclipse.adt 无法加载类 android

c - 在链表中出队

c++ - 如何在链表中重载运算符++

c - 针对动态/静态/增量数据的专用哈希表算法

java - 放置 libgdx 屏幕的正确位置是什么

java - DB2 Java 用户定义函数

java - Android:以事务方式将大量文件移动到 SD 卡?

c - 在 C 中通过引用传递删除列表中的节点

java - 无法从其他 jsp 上的 session 获取哈希表值

java - 哈希表和字典有什么区别?