Sobes.tech
Junior — Middle

Ako sa určuje časová zložitosť odstránenia prvku nachádzajúceho sa uprostred spojeného zoznamu?

sobes.tech AI

Odpoveď od AI

Časová zložitosť odstránenia prvku zo stredu spájanej zoznamu závisí od toho, či máte priame prístup k tomuto prvku a jeho predchádzajúcemu uzlu.

  • Ak máte ukazovateľ na samotný prvok a na predchádzajúci uzol (napríklad v dvojzmyselne spájanej zozname), odstránenie prebieha za O(1), pretože stačí preusporiadať odkazy.
  • Ak máte iba hodnotu alebo ukazovateľ na prvok bez prístupu k predchádzajúcemu, najskôr musíte prejsť zoznam od začiatku až k tomuto prvku, čo trvá O(n), kde n je počet prvkov pred odstraňovaným.

Všeobecne sa teda odstránenie zo stredu spájanej zoznamu považuje za operáciu s časovou zložitosťou O(n), ak nemáte priame prístup k predchádzajúcemu uzlu.