2010-11-24 136 views
0

嗨 我寫過這樣的代碼,我想知道:它的時間複雜度是O(n)?這個while循環的時間複雜度

 DNode header = new DNode(null, null, null); 
     DNode trailer = new DNode(null, header, null); 
     header.next = trailer; 
     for (Point point : pointList) { 
      DNode node = new DNode(point, header, trailer); 
      dList.addLast(node); 
      header = node; 
     } 

我要複製從pointList(ArrayList)所有對象的dList(Doubly-Linked list)。 謝謝

回答

3

是的。這裏只有一個明顯的循環,即O(n) - 並且循環中的所有內容都是O(1),假設雙向鏈表的合理實現。

+0

我有一個問題,以這種方式添加列表到雙向鏈表的末尾有O(n)或O(1)? – user472221 2010-11-24 06:39:46