java - 实现一个运行时间为 o(1) 的列表

标签 java algorithm time implementation

我可以列出所有具有快速运行时间的列表吗?有可能有这种类型的列表吗?如果需要通过节点搜索其他节点,我无法理解如何保持搜索或添加时间不变,更不用说添加了。

最佳答案

一开始你只说了get()、add()和set(),后来你又说了search()。前三个在 ArrayList 和类似实现中的平均运行时间均为 O(1)。在通常被视为列表的任何内容中,您都不能使用 O(1) 搜索时间。

编辑:有些人正确地指出,如果列表实现还将元素索引存储在 HashMap 中,您可以获得 O(1) 查找时间。严格来说,只要实现了List接口(interface),就是列表。我应该说你不能一个列表来做到这一点。

关于java - 实现一个运行时间为 o(1) 的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43728787/

相关文章:

algorithm - 使用纯功能深度优先搜索时如何防止循环

algorithm - 动态集运算 UNION 将两个不相交的集合 S1 和 S2 作为输入

c - 遗传算法实现中的奇怪事件

python 日期时间和 SQLite

java - 如何在java中通过SFTP传输文件?

java - JTable 自动更新帮助

java - 通过 java 更新 Notes 文档

java - 时间戳在 android 中不是当前的

JavaScript:一段时间后更改 Div 背景

java - 使用 GregorianCalendar 将任务循环一年