Junior — Middle
Hoe wordt de tijdcomplexiteit van de bewerking om een element aan het einde van een array toe te voegen bepaald?
sobes.tech AI
Antwoord van AI
Het invoegen van een element aan het einde van een array in iOS hangt af van het type array:
-
Voor vaste grootte arrays (bijvoorbeeld C-arrays) is het niet mogelijk om aan het einde in te voegen zonder een nieuwe array te maken.
-
Voor NSMutableArray of Swift-arrays, die dynamisch van grootte veranderen, wordt het toevoegen aan het einde meestal gedaan in geamortiseerd O(1) tijd. Dit betekent dat de toevoeging meestal snel gaat, maar soms, wanneer de array zijn huidige capaciteit bereikt, vindt er een geheugenherallocatie en kopiëren van elementen plaats, wat meer tijd kost.
Voorbeeld in Swift:
var array = [1, 2, 3]
array.append(4) // Meestal O(1), soms O(n) bij herallocatie