Sobes.tech
Junior — Middle

Milyen helyzetekben lehet az ArrayList végére elem hozzáadása O(n) időkomplexitású?

sobes.tech MI

Válasz az MI-től

Az ArrayList végére történő elem hozzáadás általában amortizált időbeli komplexitással O(1), de bizonyos esetekben O(n) is lehet. Ez akkor fordul elő, amikor a belső tömb, amely a elemeket tárolja, megtelt, és bővíteni kell.

Új elem hozzáadásakor:

  • Ha van hely, az elem egyszerűen hozzáadódik — O(1).
  • Ha nincs hely, akkor egy nagyobb méretű új tömb jön létre (általában 1,5-2 szer nagyobb), és minden meglévő elem átkerül az új tömbbe — ez az művelet O(n).

Ezért az elem hozzáadása pontosan akkor lehet O(n) időbeli komplexitású, amikor a belső tömb bővítésre kerül.