Junior — Middle
Каква е времевата сложност на операцията по търсене на елемент в списък, реализиран чрез slice?
sobes.tech AI
Отговор от AI
В Go, слайсът е динамичен масив, който съхранява елементи в последователна област от паметта. Търсенето на елемент по стойност в слайс изисква обхождане на елементите, тъй като слайсът не е индексиран по стойност.
Следователно, времевата сложност на операцията по търсене на елемент в слайс е O(n), където n е броят на елементите в слайса.
Пример за търсене на елемент:
func contains(slice []int, val int) bool {
for _, item := range slice {
if item == val {
return true
}
}
return false
}
В най-лошия случай ще трябва да проверите всички елементи.