Java Collections的Big-Oh表示法

时间:2013-08-18 22:40:44

标签: java big-o

我一直在使用OpenJDK 1.7的Java文档,但是我没有看到很多关于Big-Oh表示法的信息在不同容器类型之间的操作复杂性方面,这使得更难以知道哪个是最多的用于我手头任务的表现收集;例如,实现堆栈或队列。

我一直在使用ArrayDeque来跟随我的C ++本能。有基础知识,例如ArrayListLinkedList快,但似乎没有一致的部分。在C ++文档中,有一个类似下面的部分。任何谈论容器之间复杂性的Javadoc引用都会有所帮助。

C ++示例:http://en.cppreference.com/w/cpp/container/unordered_set/equal_range

  

复杂性

     

平均大小写常数,最差情况是容器大小的线性。

Java示例:嵌入在ArrayList文档中,我发现了以下内容

  

size,isEmpty,get,set,iterator和listIterator操作以恒定时间运行。添加操作以分摊的常量时间运行,即添加n个元素需要O(n)时间。所有其他操作都以线性时间运行(粗略地说)。与LinkedList实现相比,常数因子较低。

0 个答案:

没有答案