簡體   English   中英

java中Iterator()的時間復雜度

[英]The time complexity of Iterator() in java

我是Java新手。 我有一個關於java iterator()的時間復雜性的問題。

Set<Integer> set = new HashSet<>();

Iterator<Integer> iter = set.iterator(); ==> (2)

我想知道第2步的時間復雜度是多少? 它是常數時間O(1)還是取決於集合的大小?

謝謝

調用iterator()是常量時間。 這是一個方法調用,它返回您正在調用的集合上的Iterator實例。 實際上使用while (hasNext())使用迭代器迭代集合將是O(n)

當你調用iterator()方法時,你不會在任何地方循環。 此方法只返回元素上的迭代器,並且該時間是常量,因此您不會為此計算時間復雜度。

無論何時從一組元素訪問元素,都可以計算時間復雜度。 例如,當您訪問這樣的元素時:

while(iterator.hasNext()) {
   Object element = iterator.next();
}

這是您可以計算時間復雜度的地方,在這種情況下它將是O(n)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM