Назад к вопросам
Junior — Middle
97
Как оценивается временная сложность операции поиска элемента по значению в последовательности типа slice?
Ответ от нейросети
sobes.tech AI
Временная сложность поиска элемента по значению в срезе (slice) в Go — O(n), где n — количество элементов в срезе.
Это связано с тем, что срез — это упорядоченная последовательность элементов без индексированной структуры для быстрого поиска. Чтобы найти элемент, нужно пройтись по срезу последовательно, сравнивая каждый элемент с искомым значением.
Пример поиска элемента в срезе:
func contains(slice []int, val int) bool {
for _, item := range slice {
if item == val {
return true
}
}
return false
}
Если требуется более быстрый поиск, стоит использовать структуры данных с индексированным доступом, например, map.