Sobes.tech
Junior — Middle

Jaká je časová složitost operace odstranění prvního prvku z dynamického pole nebo snímku?

sobes.tech AI

Odpověď od AI

Odstranění prvního prvku z dynamického pole nebo snímku v Go má obvykle časovou složitost O(n), kde n je počet prvků ve snímku. To je způsobeno tím, že po odstranění prvního prvku je třeba všechny následující prvky posunout o jednu pozici vlevo, aby se zaplnil vzniklý volný prostor.

Příklad:

s := []int{1, 2, 3, 4, 5}
s = s[1:] // odstranění prvního prvku

V tomto příkladu se snímek posune, ale pokud chcete skutečně odstranit prvek a uvolnit paměť, musíte ručně zkopírovat prvky, což také dává O(n).