Συντελεστές:
Ελληνική Εταιρεία Επιστημόνων και Επαγγελματιών Πληροφορικής και Επικοινωνιών (ΕΠΥ)

Ημερομηνία Συνεισφοράς: 05/2025
Έκδοση: Version 2.5

Δυαδική Αναζήτηση σε Τηλεφωνικό Κατάλογο

Περιγραφή

Η δυαδική αναζήτηση είναι ένας αποδοτικός αλγόριθμος για την εύρεση ενός στοιχείου σε μια ταξινομημένη λίστα. Ο παρακάτω κώδικας υλοποιεί την δυαδική αναζήτηση για την εύρεση ενός ονόματος σε ένα τηλεφωνικό κατάλογο όπου όλα τα ονόματα είναι αποθηκευμένα σε αλφαβητική σειρά.

Κώδικας Python

            #Δημιουργία συνάρτησης για την αναζήτηση στον τηλεφωνικό κατάλογο
            def binary_search_phonebook(phonebook, name):
                left = 0
                right = len(phonebook) - 1
                while left <= right:
                    middle = (left + right) // 2
                    mid_name = phonebook[middle]
                    if mid_name == name:
                        return "Το όνομα βρέθηκε στη θέση " + str(middle)
                    elif mid_name < name:
                        left = middle + 1
                    else:
                        right = middle - 1
                return "Το όνομα δεν βρέθηκε στον κατάλογο."
            # Παράδειγμα χρήσης
            phonebook = ["Ανδρέας", "Βασίλης", "Γιώργος", "Δημήτρης", "Ελένη", "Ζωή"]
            name_to_find = "Δημήτρης"
            result = binary_search_phonebook(phonebook, name_to_find)
            print(result)
        
Πατήστε το κουμπί για να ξεκινήσετε την αναζήτηση.
Λογότυπα του Υπουργείου Παιδείας, του ΙΕΠ, του ΕΣΠΑ και του Μητρώου Διδακτικών Βιβλίων