Sobes.tech
Middle

Mi a Python lista elemének hozzáadásának időbeli komplexitása a végén, elején és közepén?

sobes.tech MI

Válasz az MI-től

Pythonban a listák dinamikus tömbökként vannak megvalósítva, így a műveletek időbeli összetettsége a beszúrás helyétől függ:

  • Hozzáadás a végéhez (list.append(element)) — amortizált O(1), mivel általában van hely, de néha memória újraelosztás történik.
  • Hozzáadás a kezdethez (list.insert(0, element)) — O(n), mert minden elem jobbra tolódik.
  • Hozzáadás középre (list.insert(index, element)) — szintén O(n), mert az index utáni elemek tolódnak.

Ezért hatékony hozzáadáshoz a kezdethez vagy középre érdemes más adatstruktúrákat, például a collections.deque-t használni.