Junior
Kui keeruline on eemaldada element vektori lõpust C++-s?
sobes.tech AI
Vastus AI-lt
Amortisatsioon O(1).
Vektori lõpus oleva elemendi eemaldamisel (pop_back()), enamikul juhtudel ei toimu teiste elementide liigutamist ega kopeerimist. Ainsaks toiminguks on vektori suuruse vähendamine.
Vektori (capacity) suurus muutub ainult siis, kui on vaja mälu ümberpaigutada (kui vektor oli täis ja seejärel eemaldati elemendid, kuid mitte täielikult tühja olekusse). Kuid kuna lõpus olevate elementide eemaldamisel toimuvad ümberpaigutamised on harvad ning nende maksumus jaotub paljude lisamistegevuste vahel, loetakse amortiseeritud keerukus konstantseks.