Junior
Каква е сложността на изтриването на елемент от края на вектора в C++?
sobes.tech AI
Отговор от AI
Амортизирано O(1).
При премахване на елемент от края на вектора (pop_back()), в повечето случаи не се извършва преместване или копиране на други елементи. Единственото действие е намаляване на размера на вектора.
Промяната на размера на вектора (capacity) се случва само когато е необходимо преразпределение на паметта (ако векторът е бил пълен, а след това е премахнато елементите, но не до напълно празно състояние). Въпреки това, тъй като преразпределенията при премахване на елементи от края се случват рядко и техните разходи се разпределят върху много операции по добавяне, амортизираната сложност се счита за константна.