【发布时间】:2016-11-01 20:48:12
【问题描述】:
我是 java 新手,从 docs.oracle.com 学习各种方法,但奇怪的是,他们没有提到那里描述的任何方法的时间复杂度,例如在此页面上:https://docs.oracle.com/javase/7/docs/api/java/util/ArrayList.html#get(int)
有一些关于“get()”方法的信息,但没有关于复杂性的信息!我找不到合适的地方来询问在哪里可以找到有关复杂性的信息。也许有像 cplusplus.com 这样的信息,但我不知道。我在网上搜索并失败了。所以,如果这是个愚蠢的问题,请原谅我。
【问题讨论】:
-
"size、isEmpty、get、set、iterator、listIterator操作都是在常数时间内运行的,add操作是在摊销常数时间内运行的,即添加n个元素需要O(n)时间。所有其他操作都以线性时间运行(粗略地说)。”。尝试阅读课程顶部的说明。
-
请注意,不需要给出方法实现的时间复杂度。除了一些非常广泛使用的类之外,您通常不会找到它们。
-
对不起,我没有注意到。但似乎仍然没有足够的空间在页面顶部提及所有方法的复杂性。我的问题是,是否有任何特定的地方可以阅读有关特定方法的所有内容?
-
您应该将类的实现作为一个整体来考虑,而不仅仅是特定的方法。
-
@bradimus 没有让你明白,一个特定的方法有它自己的特定类的复杂性。你能详细说明你的意见吗?
标签: java time-complexity