是否有全面的Java数据结构大O列表?
这个问题几乎说明了一切。具体地说,我想要一个结构中所有方法的Big-O,除了通常的方法。医生们对此只字未提 附录 对于那些投票结束的人,我对基本的添加、删除、迭代器等不感兴趣 这些资源对于经常使用的方法来说是很好的,但我更感兴趣的是该堆其余部分的算法效率是否有全面的Java数据结构大O列表?,java,data-structures,big-o,Java,Data Structures,Big O,这个问题几乎说明了一切。具体地说,我想要一个结构中所有方法的Big-O,除了通常的方法。医生们对此只字未提 附录 对于那些投票结束的人,我对基本的添加、删除、迭代器等不感兴趣 这些资源对于经常使用的方法来说是很好的,但我更感兴趣的是该堆其余部分的算法效率 例如,TreeMap.keySet()的效率是多少?我会查看中有关算法的标准Big-O信息。我不确定是否有电子表格或其他列表,但您可以在文档中为每个结构获取这些信息,例如: 此实现为基本操作(添加、删除和包含)提供了有保证的日志(n)时间开销
例如,
TreeMap.keySet()
的效率是多少?我会查看中有关算法的标准Big-O信息。我不确定是否有电子表格或其他列表,但您可以在文档中为每个结构获取这些信息,例如:
此实现为基本操作(添加、删除和包含)提供了有保证的日志(n)时间开销
真的不可能。每个JVM都可以有自己的运行时,以及自己的实现。有几个方法指定了O()特性,但其余的是Sun、Oracle、IBM、Apple或Azul所做的。Java Collections算法效率: ArrayList
- 获取、设置:O(1)
- 添加、删除:O(n)
- 包含,索引为:O(n)
- 获取、放置、移除、包含如下内容:O(1)
- 添加、删除、包含:O(1)
- 添加、删除、包含:O(1)
- 获取、设置、添加、删除(从任意一端):O(1)
- 获取、设置、添加、删除(从索引中):O(n)
- 包含,索引为:O(n)
- 窥视:O(1)
- 添加、删除:O(logn)
- 移除、获取、放置、包含以下内容:O(logn)
- 添加、删除、包含:O(logn)