Sobes.tech
Junior — Middle

Hoe evalueer je de tijdcomplexiteit van het verwijderen van een element uit een array?

sobes.tech AI

Antwoord van AI

De tijdscomplexiteit van het verwijderen van een element uit een array hangt af van het type array en de verwijdermethode:

  • In een standaard array (bijvoorbeeld Array in Swift) vereist het verwijderen van een element op index het verschuiven van alle volgende elementen naar links om het "gat" op te vullen. Dit leidt tot een complexiteit van O(n), waarbij n het aantal elementen na het verwijderde element is.

  • Als het laatste element wordt verwijderd, wordt de operatie meestal uitgevoerd in O(1), omdat verschuiven niet nodig is.

  • In het geval van dynamische arrays (bijvoorbeeld ArrayList in Java of NSMutableArray in Objective-C) is de situatie vergelijkbaar — verwijderen uit het midden vereist het verschuiven van de elementen.

Voorbeeld:

var array = [1, 2, 3, 4, 5]
array.remove(at: 2) // verwijdert het element op index 2 (nummer 3)
// Na het verwijderen verschuiven de elementen 4 en 5 één positie naar links

Dus, in het algemeen, is het verwijderen van een element uit een array een operatie met een tijdscomplexiteit van O(n).