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).