Junior — Middle
Mi a művelet időbeli összetettsége az első elem törlésénél egy dinamikus tömbből vagy diákról?
sobes.tech MI
Válasz az MI-től
A dinamikus tömb vagy diá első elemének törlése Go-ban általában O(n) időkomplexitással jár, ahol n a diában lévő elemek száma. Ez azért van, mert az első elem törlése után minden következő elemet egy pozícióval balra kell mozgatni, hogy kitöltse az üres helyet.
Példa:
s := []int{1, 2, 3, 4, 5}
s = s[1:] // első elem törlése
Ebben a példában a dia eltolódik, de ha valóban törölni szeretné az elemet és felszabadítani a memóriát, akkor manuálisan kell másolnia az elemeket, ami szintén O(n).