簡體   English   中英

在無序數組中,刪除元素O(n)的時間復雜度嗎?

[英]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.

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