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.