Junior
Каква е сложността на търсенето на елемент в масив в Swift?
sobes.tech AI
Отговор от 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 }) {
// Елементът е намерен на индекс
}