Sobes.tech
Junior — Middle

Milyen időbeli eredménye van a beszúrás, keresés, olvasás és elem törlés műveleteinek egy tömbben a legrosszabb és átlagos esetben?

sobes.tech MI

Válasz az MI-től

Az iOS szabványos tömb esetében (például NSArray vagy NSMutableArray) a műveletek időbeli jellemzői kb. a következők:

  • Beszúrás:

    • A tömb végéhez (append): átlagos és legrosszabb esetben — O(1) amortizált (ha nincs szükség memória újraelosztásra).
    • A kezdetén vagy közepén: O(n), mivel az elemeket el kell tolni.
  • Keresés (ha index szerint): O(1), mivel a tömb indexelt.

  • Olvasás index szerint: O(1).

  • Törlés:

    • A tömb végéről: O(1).
    • A kezdetén vagy közepén: O(n), az elemek eltolása miatt.

Ezért a beszúrás és törlés műveletek a tömb közepén vagy elején lineáris komplexitásúak, míg a hozzáférés és a végén való beszúrás/törlés konstans (amortizált) időt vesz igénybe.