Junior — Middle
Cum se determină complexitatea temporală a accesului la elementele dintr-un array intern într-un slice dinamic?
sobes.tech AI
Răspuns de la AI
În Go, accesul la elementele unui slice după index are o complexitate temporală de O(1), deoarece un slice reprezintă o structură care conține un pointer către un array intern, lungimea și capacitatea sa. La accesarea unui element, se face o accesare directă a elementului array-ului printr-o deplasare, ceea ce se realizează în timp constant.
Exemplu:
s := []int{10, 20, 30, 40}
fmt.Println(s[2]) // Acces rapid la elementul cu indexul 2
Prin urmare, indiferent de dimensiunea slice-ului, accesul la un element după index este întotdeauna eficient și nu depinde de lungimea slice-ului.