![](/img/trans.png)
[英]Time Complexity of removing the last element from a static array- O(n) or O(1)?
[英]In an unordered array, isnt the time complexity of removing an element O(n)?
我在某處讀到它是O(1)。 但是,如果需要從數組中刪除一個元素,則需要將所有元素交換到左側,在最壞的情況下,是否需要進行N次交換,從而使復雜度為O(n)? 我很困惑?! 在無序數組和未排序數組之間也有區別嗎?
由於數組是無序的,因此您可以用最后一個元素填充孔,然后將數組縮短1。無需將每個元素向下移動一個位置。
根據要刪除元素的方式(即通過提供元素的索引或值),它是O(1)
或O(n)
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.