Sobes.tech
Junior

Ποια είναι η πολυπλοκότητα της αναζήτησης ενός στοιχείου σε έναν πίνακα Swift;

sobes.tech AI

Απάντηση από AI

Στην χειρότερη περίπτωση (το στοιχείο δεν βρέθηκε ή βρίσκεται στο τέλος) είναι γραμμική, O(n), όπου n είναι ο αριθμός των στοιχείων στον πίνακα.

Όταν χρησιμοποιείται δυαδική αναζήτηση σε έναν ταξινομημένο πίνακα — λογαριθμική, O(log n).

// Γραμμική αναζήτηση
let array = [1, 5, 2, 8, 3]
if array.contains(8) {
    // Το στοιχείο βρέθηκε. Στην χειρότερη περίπτωση, ελέγχθηκαν όλα τα στοιχεία.
}

// Δυαδική αναζήτηση σε ταξινομημένο πίνακα
let sortedArray = [1, 2, 3, 5, 8]
// Η υλοποίηση απαιτεί πρόσθετα βήματα ή τη χρήση αλγορίθμου
// Για παράδειγμα, μέσω της μεθόδου binarySearch() για ταξινομημένες συλλογές σε Swift 5.3+
// sortedArray.binarySearch(8)