Junior — Middle
Περιγράψτε ένα παράδειγμα αλγορίθμου που χρησιμοποιείται για την αναζήτηση ενός στοιχείου σε μια δομή δεδομένων
sobes.tech AI
Απάντηση από AI
Ένας από τους βασικούς αλγόριθμους αναζήτησης ενός στοιχείου σε μια δομή δεδομένων είναι η δυαδική αναζήτηση, η οποία εφαρμόζεται σε ταξινομημένους πίνακες. Λειτουργεί διαιρώντας τον πίνακα στη μέση και συγκρίνοντας την ζητούμενη τιμή με το στοιχείο στο μέσο.
Παράδειγμα σε Swift:
func binarySearch(_ array: [Int], target: Int) -> Int? {
var left = 0
var right = array.count - 1
while left <= right {
let mid = (left + right) / 2
if array[mid] == target {
return mid
} else if array[mid] < target {
left = mid + 1
} else {
right = mid - 1
}
}
return nil
}
let numbers = [1, 3, 5, 7, 9, 11]
if let index = binarySearch(numbers, target: 7) {
print("Βρέθηκε το στοιχείο στη θέση \(index)")
} else {
print("Το στοιχείο δεν βρέθηκε")
}