Sobes.tech
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("Το στοιχείο δεν βρέθηκε")
}