谁能给我一个包含主要Java数据结构摘要的网站的参考资料,以及它们各自的时间复杂性(对于某些给定的操作,如添加、查找、删除),例如Hashtable
s是O(1)查找,而LinkedList
s在...上)。像内存使用这样的一些细节也会很好。
这对于思考算法的数据结构非常有帮助。
谁能给我一个包含主要Java数据结构摘要的网站的参考资料,以及它们各自的时间复杂性(对于某些给定的操作,如添加、查找、删除),例如Hashtable
s是O(1)查找,而LinkedList
s在...上)。像内存使用这样的一些细节也会很好。
这对于思考算法的数据结构非常有帮助。
是否有理由认为 Java 的实现(在复杂性方面)不同于通用的、与语言无关的实现?换句话说,为什么不只是参考关于各种数据结构复杂性的一般参考:
但是,如果您坚持 Java 特定:
最全面的 Java 集合概述在这里
我发现Collections Framework页面非常有用,特别是 Collections Framework 的大纲,其中简要描述了每个接口/类。不幸的是,没有大 O 信息。
我看不到这里提到的这个特定资源,我发现它在过去很有用。了解你的复杂性!
我不相信有任何一个网站概述了这一点(尽管听起来对一个项目来说是个好主意)。我认为部分问题在于了解每种算法的运行方式非常重要。在大多数情况下,听起来你理解 Big-O,所以我会用它作为你的最佳猜测。跟进一些基准测试/分析,看看什么运行得更快/更慢。
而且,是的,Java 文档应该在java.util
.