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.