【发布时间】:2011-11-09 19:30:41
【问题描述】:
我试图列出常见数据结构(如数组、二叉搜索树、堆、链表等)的操作的时间复杂度,尤其是指 Java。它们很常见,但我想我们中的一些人对确切答案并不是 100% 有信心。非常感谢任何帮助,尤其是参考资料。
例如对于单链表:更改内部元素是 O(1)。你怎么能这样做?您必须在更改元素之前对其进行搜索。此外,对于向量,添加一个内部元素为 O(n)。但是为什么我们不能使用索引在摊销的常数时间内做到这一点呢?如果我遗漏了什么,请纠正我。
我将我的发现/猜测发布为第一个答案。
【问题讨论】:
-
所有数据结构的时间和空间复杂性Big O cheat sheet
-
如果其他人介入,请花一分钟时间检查此链接:infotechgems.blogspot.gr/2011/11/…
-
Big o Cheatsheet - 具有复杂性的数据结构和算法hackerearth.com/practice/notes/…
标签: java data-structures time-complexity