Junior
Mi a komplexitása egy elem törlésének a vektor végéről C++-ban?
sobes.tech MI
Válasz az MI-től
Amortizált O(1).
A végéről történő elem eltávolításakor (pop_back()), a legtöbb esetben nem történik más elemek mozgatása vagy másolása. Az egyetlen művelet a vektor méretének csökkentése.
A vektor (capacity) méretének változása csak akkor történik, amikor memória újraelosztására van szükség (ha a vektor tele volt, majd elemeket távolítottak el, de nem teljesen üres állapotba). Azonban, mivel az újraelosztások a végéről történő elemtörléskor ritkák, és költségük sok hozzáadási művelet között oszlik meg, az amortizált összetettség állandónak tekinthető.