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 }) {
// Элемент найден по индексу
}