Sobes.tech
Back to questions
Junior — Middle
82

Какова временная сложность операции поиска элемента в списке, реализованном через слайс?

Answer from AI

sobes.tech AI

В Go слайс — это динамический массив, который хранит элементы в последовательной области памяти. Поиск элемента по значению в слайсе требует перебора элементов, так как слайс не индексируется по значению.

Таким образом, временная сложность операции поиска элемента в слайсе — O(n), где n — количество элементов в слайсе.

Пример поиска элемента:

func contains(slice []int, val int) bool {
    for _, item := range slice {
        if item == val {
            return true
        }
    }
    return false
}

Здесь в худшем случае придется проверить все элементы.