Sobes.tech
Junior

C++ da vektor oxiridan elementni o'chirishning murakkabligi qanday?

sobes.tech AI

AIdan javob

Amortizatsiya O(1).

Vektorning oxiridan elementni olib tashlashda (pop_back()), ko‘pchilik hollarda boshqa elementlarni harakatlantirish yoki nusxalash amalga oshmaydi. Yagona amal — vektor hajmini kamaytirish.

Vektor hajmini o‘zgartirish (capacity) faqat xotira qayta joylashtirish zarur bo‘lsa (agar vektor to‘liq bo‘lsa va keyin elementlar o‘chirilsа, lekin to‘liq bo‘sh holatga yetmasdan). Biroq, oxiridan elementlarni o‘chirishda qayta joylashtirishlar kam uchraydi va ularning narxi ko‘p qo‘shish operatsiyalariga taqsimlanadi, shuning uchun amortizatsiya qilingan murakkablik doimiy deb hisoblanadi.