Sobes.tech
Junior — Middle

Вектордон элементтерди алып салуу операциясынын эң жаман учурдагы убакыттык татаалдыгы кандай?

sobes.tech AI

AIден жооп

Эң жаман учурда, C++ да std::vector элементтерин жоготуу убакыттык татаалдыгы O(n), ал n — жоготуу ордуна карата вектордогу элементтердин саны. Бул, элементтер жоготулгандан кийин, бардык кийинки элементтер солго жылышы керектигинен келип чыгат.

Мисалы, эгер вектордун башындагы элементти жоготсок, калган бардык элементтер бир орун алдыга жылышы керек, бул O(n) операцияны талап кылат.

std::vector<int> v = {1, 2, 3, 4, 5};
v.erase(v.begin()); // биринчи элементти жоготуу
// бардык элементтер бир орун солго жылат

Эгер акыркы элемент жоготулса, жылдыруу керек эмес, жана операция O(1) жакын болот. Бирок эң жаман учур — O(n).