Sobes.tech
Back to questions
Junior
97
questionbank

Какова сложность поиска элемента в массиве в Swift?

Sobes Copilot

Get answers in real time

Answer from AI

sobes.tech AI

Сложность поиска элемента в типичном неупорядованом массиве (например, Array<Element>) в Swift составляет O(n), где n — количество элементов в массиве. Это связано с тем, что в худшем случае для нахождения элемента может потребоваться перебрать все элементы массива.

Однако, если массив отсортирован, можно использовать бинарный поиск, который имеет сложность O(log n). Swift предоставляет метод binarySearch для отсортированных коллекций.

Пример линейного поиска:

let array = [1, 5, 2, 8, 3]
let elementToFind = 8

for element in array {
    if element == elementToFind {
        // Элемент найден
        break
    }
}

Пример бинарного поиска на отсортированном массиве:

let sortedArray = [1, 2, 3, 5, 8]
let elementToFind = 5

if let index = sortedArray.firstIndex(where: { $0 == elementToFind }) {
    // Элемент найден по индексу
}