Sobes.tech
Junior

Wat is de complexiteit van het verwijderen van een element uit het einde van een vector in C++?

sobes.tech AI

Antwoord van AI

Gemyptoteerde O(1).

Bij het verwijderen van een element aan het einde van de vector (pop_back()), vinden in de meeste gevallen geen verplaatsingen of kopieën van andere elementen plaats. De enige actie is het verkleinen van de grootte van de vector.

De wijziging van de grootte van de vector (capacity) gebeurt alleen wanneer het nodig is om geheugen opnieuw toe te wijzen (als de vector vol was en vervolgens elementen werden verwijderd, maar niet tot een volledig lege toestand). Echter, omdat herallocaties bij het verwijderen van elementen aan het einde zelden voorkomen en hun kosten worden verdeeld over veel toevoegbewerkingen, wordt de geamortiseerde complexiteit als constant beschouwd.