Junior
102
questionbank
Какова сложность поиска элемента в массиве в Swift?
Ответ от нейросети
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 }) {
// Элемент найден по индексу
}