Junior
Aká je zložitosť odstránenia prvku z konca vektora v C++?
sobes.tech AI
Odpoveď od AI
Amortizované O(1).
Pri odstraňovaní prvku z konca poľa (pop_back()), vo väčšine prípadov nedochádza k presunu alebo kopírovaniu iných prvkov. Jedinou akciou je zníženie veľkosti poľa.
Zmena veľkosti poľa (capacity) nastáva iba vtedy, keď je potrebná realokácia pamäti (ak bolo pole plné a následne boli odstránené prvky, ale nie do úplne prázdneho stavu). Avšak, pretože realokácie pri odstraňovaní prvkov z konca sú zriedkavé a ich náklady sa rozdeľujú na mnoho operácií pridávania, považuje sa amortizovaná zložitosť za konštantnú.