Middle
Milline on aja keerukus lisada element Python'i nimekirja lõppu, alguses ja keskel?
sobes.tech AI
Vastus AI-lt
Pythonis on nimekirjad rakendatud kui dünaamilised massiivid, seega operatsioonide ajakava keerukus sõltub sisestamise positsioonist:
- Lisamine lõppu (
list.append(element)) — amortiseeritud O(1), kuna tavaliselt on ruumi, kuid mõnikord toimub mälu ümberjaotamine. - Lisamine alguses (
list.insert(0, element)) — O(n), kuna kõik elemendid nihkuvad paremale. - Lisamine keskele (
list.insert(index, element)) — samuti O(n), kuna indeksist edasi olevad elemendid nihkuvad.
Seetõttu on tõhusam lisada alguses või keskel teisi andmestruktuure, näiteks collections.deque.