Sobes.tech
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ő.