Junior — Middle
Aká je časová zložitosť operácie vyhľadávania prvku v zozname implementovanom pomocou slice?
sobes.tech AI
Odpoveď od AI
V jazyku Go je slice dynamický poľ, ktorý uchováva prvky v sekvenčnej oblasti pamäte. Vyhľadávanie prvku podľa hodnoty v slice si vyžaduje prechádzanie prvkov, pretože slice nie je indexovaný podľa hodnoty.
Teda časová zložitosť operácie vyhľadávania prvku v slice je O(n), kde n je počet prvkov v slice.
Príklad vyhľadávania prvku:
func contains(slice []int, val int) bool {
for _, item := range slice {
if item == val {
return true
}
}
return false
}
V najhoršom prípade je potrebné skontrolovať všetky prvky.