Να περιγραφεί η λειτουργία της αναζήτησης.
Σκέψη / Μεθοδολογία: Ερώτηση περιγραφής — απαντάται με τον ορισμό της αναζήτησης και τη σειριακή μέθοδο από το §3.6.
Λύση:
Περιγράφουμε τι είναι η αναζήτηση και εξηγούμε τη λειτουργία της σειριακής/γραμμικής μεθόδου, η οποία εξετάζει τα στοιχεία ένα-ένα.
Απάντηση: Η αναζήτηση (searching) είναι η λειτουργία εντοπισμού ενός στοιχείου μέσα σε μια δομή δεδομένων (π.χ. πίνακα) με βάση κάποια ιδιότητά του. Η απλούστερη μέθοδος είναι η σειριακή ή γραμμική αναζήτηση: εξετάζουμε τα στοιχεία του πίνακα ένα-ένα, από την αρχή, μέχρι να βρούμε αυτό που ψάχνουμε ή μέχρι να τελειώσει ο πίνακας. Αν το στοιχείο βρεθεί, επιστρέφεται η θέση του· αν όχι, η θέση επιστρέφεται ως 0.
Πρόσεξε:
Να δοθεί ένα παράδειγμα για τη σειριακή αναζήτηση στοιχείου σε έναν πίνακα.
Σκέψη / Μεθοδολογία: Ζητείται συγκεκριμένο παράδειγμα — χρησιμοποιούμε το παράδειγμα του §3.6 με τον πίνακα 9 στοιχείων.
Λύση:
Χρησιμοποιούμε τον πίνακα 52, 12, 71, 56, 5, 10, 19, 90, 45 και δείχνουμε πώς εντοπίζεται μια τιμή που υπάρχει και πώς διαπιστώνεται η απουσία μιας τιμής που δεν υπάρχει.
Απάντηση: Έστω ο πίνακας table = [52, 12, 71, 56, 5, 10, 19, 90, 45]. Αναζητώντας την τιμή 56: συγκρίνουμε key=56 διαδοχικά με table[1]=52 (≠), table[2]=12 (≠), table[3]=71 (≠), table[4]=56 (=) — βρέθηκε στη θέση 4, μετά από 4 προσπελάσεις. Αναζητώντας την ανύπαρκτη τιμή 11, ο αλγόριθμος πρέπει να ελέγξει και τα 9 στοιχεία χωρίς να βρει ταύτιση, οπότε επιστρέφει position=0.
Πρόσεξε:
