在Java中的LinkedList上调用size()的时间复杂度是多少?
2022-08-31 17:13:38
正如标题所问的,我想知道LinkedList类中的size()方法是否采用摊销的O(1)时间或O(n)时间。
正如标题所问的,我想知道LinkedList类中的size()方法是否采用摊销的O(1)时间或O(n)时间。
它是O(1)。你可以谷歌的源代码,你会得到这样的:
从 http://www.docjar.com/html/api/java/util/LinkedList.java.html
我看过的所有 Collection 类都将大小存储为变量,并且不会遍历所有内容以获取它。
O(1)就像你看源代码一样...
从链接列表:
private transient int size = 0;
...
/**
* Returns the number of elements in this list.
*
* @return the number of elements in this list
*/
public int size() {
return size;
}