Sobes.tech
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.