Sobes.tech
Junior — Middle

Mekkora az időbeli komplexitása annak az műveletnek, amikor egy elemet hozzáadunk egy kétszeresen láncolt listához?

sobes.tech MI

Válasz az MI-től

A kétszárnyú láncolt lista elemének végéhez való hozzáadásának időbeli összetettsége attól függ, hogy van-e a listának mutatója a legutolsó elemre (farokra).

  • Ha van mutató a farokra, akkor az elem hozzáadása a végéhez O(1) idő alatt történik, mivel közvetlenül elérhető a legutolsó elem, és utána hozzá lehet adni az újat.

  • Ha nincs mutató a farokra, akkor végig kell járni az egész listát a fejétől a legutolsó elemig, ami O(n) időt vesz igénybe, ahol n a lista elemeinek száma.

A legtöbb kétszárnyú láncolt lista implementációjában a véghez való hozzáadás műveleteinek optimalizálása érdekében tartanak mutatót a farokra, így ez a művelet általában O(1)-nek számít.