Να περιγραφεί με βήματα η μέθοδος της προσέγγισης Διαίρει και Βασίλευε για τη σχεδίαση αλγορίθμων.
Σκέψη / Μεθοδολογία: Κλειστή ερώτηση περιγραφής — τα 4 βήματα της μεθόδου δίνονται ρητά στο §4.3.
Λύση:
Ανατρέχουμε στα 4 βήματα του §4.3 και τα αποδίδουμε με τη σειρά τους.
Απάντηση: Η μέθοδος Διαίρει και Βασίλευε περιλαμβάνει 4 βήματα: (1) δίνεται προς επίλυση ένα στιγμιότυπο του προβλήματος, (2) το στιγμιότυπο υποδιαιρείται σε υπο-στιγμιότυπα του ίδιου προβλήματος, (3) κάθε υπο-στιγμιότυπο λύνεται ανεξάρτητα, (4) οι επιμέρους λύσεις συνδυάζονται ώστε να προκύψει η συνολική λύση.
Πρόσεξε:
Να περιγραφεί η μέθοδος της δυαδικής αναζήτησης και να δοθεί ένα παράδειγμα επίλυσης προβλήματος με τη μέθοδο αυτή.
Σκέψη / Μεθοδολογία: Ερώτηση περιγραφής + παράδειγμα — το παράδειγμα του τηλεφωνικού καταλόγου δίνεται ρητά στο §4.3.
Λύση:
Απάντηση: Η δυαδική αναζήτηση εφαρμόζεται σε ταξινομημένο πίνακα: σε κάθε βήμα συγκρίνουμε το ζητούμενο στοιχείο με το μεσαίο στοιχείο του πίνακα· αν δεν ταιριάζει, «κρατάμε» μόνο το μισό του πίνακα (αριστερό ή δεξιό) όπου θα μπορούσε να βρίσκεται το στοιχείο, και επαναλαμβάνουμε. Παράδειγμα: σε έναν αλφαβητικά ταξινομημένο τηλεφωνικό κατάλογο names[1..n]/phones[1..n], για να βρούμε το τηλέφωνο ενός ονόματος συγκρίνουμε το όνομα με το μεσαίο στοιχείο του πίνακα names — αν είναι ίσο, βρέθηκε· αν είναι αλφαβητικά μικρότερο, συνεχίζουμε την αναζήτηση στο πρώτο μισό· αλλιώς στο δεύτερο μισό, μέχρι να βρεθεί. Π.χ. (παράδειγμα του §4.3) σε κατάλογο πέντε θέσεων αναζητείται το όνομα Δανάη: 1η σύγκριση με τη μεσαία, 3η θέση (Κατερίνα) → το Δανάη είναι λεξικογραφικά μικρότερο, άρα η αναζήτηση περιορίζεται στις θέσεις 1–2· 2η σύγκριση με την 1η θέση (Γιάννης) → το Δανάη είναι μεγαλύτερο, άρα μένει μόνο η 2η θέση· 3η σύγκριση: το όνομα βρίσκεται στη 2η θέση και επιστρέφεται το τηλέφωνό του.
Πρόσεξε:
