任何人都可以给我提供一个网站,其中包含主要Java数据结构的摘要以及它们各自在时间上的复杂性(对于某些给定的操作,如添加,查找,删除等)。 Hashtable
s是O(1)用于查找,而LinkedList
s是O(n)。一些细节,如内存使用情况也会很好。Java数据结构参考
这对于思考算法的数据结构真的很有帮助。
任何人都可以给我提供一个网站,其中包含主要Java数据结构的摘要以及它们各自在时间上的复杂性(对于某些给定的操作,如添加,查找,删除等)。 Hashtable
s是O(1)用于查找,而LinkedList
s是O(n)。一些细节,如内存使用情况也会很好。Java数据结构参考
这对于思考算法的数据结构真的很有帮助。
有什么理由认为Java的实现是不同的(在复杂性方面)比一般的,与语言无关的实现?换句话说,为什么不只是指一般参考的各种数据结构的复杂性:
NIST Dictionary of Algorithms and Data Structures
但是,如果你坚持针对Java:
Java standard data structures Big O notation
Java Collections cheatsheet V2(无效链接,但this is the first version of the cheatsheet)
我不认为有任何单一的网站概述这个(听起来像一个项目,虽然好主意)。我认为问题的一部分是对每个算法运行的理解非常重要。大多数情况下,这听起来像你理解Big-O,所以我会用它作为你最好的猜测。跟随它进行一些基准测试/分析,看看哪些运行速度更快/更慢。
而且,是的,Java docs应该在java.util
有大部分此信息。
最全面的Java集合概述这里
+1的大学版页面 – 2009-08-13 22:14:52
我发现非常有用的The Collections Framework页面,特别是Outline of the Collections Framework,其中每个接口/类别都被轻松描述。不幸的是,没有大的信息。
我看不到这里提到的这个特定的资源,我发现它在过去很有用。了解你的复杂性!
除了Javadocs? – 2009-08-13 21:30:55
是的,java文档让它们全部分开,复杂性不是很容易找到。我不想每个细节,只是一个时间复杂的总结 – 2009-08-13 21:31:52