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)