使用LinkedList實現的Stack抽象數據類型的put(x)和get()函數的時間複雜度是多少?使用鏈接列表實現的堆棧ADT的時間複雜度
我首先想到的是他們都是O(1)。但是,如果get()必須從頭節點遍歷到列表中的最後一個元素以找到要移除並返回的元素,則get()函數將爲O(n)。
put(x)函數也必須遍歷整個列表才能找到最後一個節點,它將安裝一個新節點。所以這也是O(n)。
如果使用LinkedList的「專用」版本,它總是保持一個指向列表中最後一個節點的指針,這些都將成爲恆定時間操作。我正確理解LinkedList的標準實現不可用嗎?
這樣一個簡單而優雅的答案..謝謝Viktor – Sreekar