Junior
Jaká je složitost hledání prvku v poli ve Swiftu?
sobes.tech AI
Odpověď od AI
Komplexita vyhledávání prvku v typickém neuspořádaném poli (například Array<Element>) v Swift je O(n), kde n je počet prvků v poli. To je způsobeno tím, že v nejhorším případě může být nutné projít všechny prvky pole, aby se našel požadovaný prvek.
Nicméně, pokud je pole seřazené, lze použít binární vyhledávání, které má složitost O(log n). Swift poskytuje metodu binarySearch pro seřazené kolekce.
Příklad lineárního vyhledávání:
let array = [1, 5, 2, 8, 3]
let elementToFind = 8
for element in array {
if element == elementToFind {
// Prvek nalezen
break
}
}
Příklad binárního vyhledávání v seřazeném poli:
let sortedArray = [1, 2, 3, 5, 8]
let elementToFind = 5
if let index = sortedArray.firstIndex(where: { $0 == elementToFind }) {
// Prvek nalezen na indexu
}