σειριακή αναζήτηση

Ξεκίνησε από lala, 15 Μαΐου 2006, 01:01:51 ΜΜ

« προηγούμενο - επόμενο »

lala

'Εχω την απορία όταν ψάχνω σε έναν τηλεφωνικό κατάλογο τι είδους αναζήτηση κάνω... Μπορεί να θεωρηθεί σειριακή σε ταξινομημένο όμως πίνακα?

EleniK

Οι τηλεφωνικοί κατάλογοι είναι κατά αλφαβητική σειρά, οπότε μπορείς να θεωρήσεις τον πίνακα ταξινομημένο. Προσοχή όμως γιατί υπάρχουν και οι συνωνυμίες!!
Ελένη Κοκκίνου
Καθηγήτρια Πληροφορικής, ΠΕ19

anasta

h anazhthsh se thlefwniko katalogo nomizw den einai seiriakh.
an psaxneis kapoion me to epwnumo xatzhpetrou gia paradeigma, sigoura den psaxneis apo thn arxh ton katalogo gramma-gramma gia na katalhkseis sto x!
phgaineis kateutheian sto gramma x!
eksallou h seiriaki anazhthsh ginetai se mh taksinomhmenous pinakes.
h duadiki anazhthsh ginetai se taksinomhmenous.
koitakse to paradeigma pou uparxei sto vivlio sthn sel55.

P.Tsiotakis


Στην παράγραφο 3.6 που αφορά τη σειριακή αναζήτηση παρουσιάζει λεκτικά τις 2 παραλλαγές που μπορεί να έχει ο αλγόριθμος, μία απο αυτές λειτουργεί για ταξινομημένο πίνακα

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

Σε κάθε περίπτωση η σειριακή αναζήτηση μπορεί να χρησιμοποιηθεί σε άσκηση ακόμη κι αν ο πίνακας είναι ταξινομημένος καθώς μόνο αυτή ξέρουμε.

ΑΝ ζητήσει αποφυγή περιττών βημάτων τότε... υπάρχει η ανάλυση στην ιστοσελίδα:
http://users.kor.sch.gr/ptsiotakis/aepp/aepp_theory3f.htm

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

gpapargi

Lala δεν είμαι σίγουρος ότι κατάλαβα τι ακριβώς ρωτάς.

Αν ρωτάς τι κάνει ο άνθρωπος όταν ψάχνει σε τηλεφωνικό κατάλογο, τότε κάνει κάτι σαν hash searching. Δηλαδή προσπαθεί να φτάσει κατευθείαν στο αρχικό γράμμα του επιθέτου. Δεν έχει βέβαια ακρίβεια για να πέσει πχ στη σελίδα του ‘Χ’ με την πρώτη. Οπότε κάνει διορθώσεις με τις επόμενες προσπάθειες. Μετά προσπαθεί να πάει στο δεύτερο γράμμα από εκεί που βρίσκεται κλπ. Μόλις πλησιάσει αρκετά στο όνομα που ψάχνει κάνει σειριακή αναζήτηση.
Το βιβλίο αναφέρει το παράδειγμα του τηλεφωνικού καταλόγου, που σε πάει στο πρώτο γράμμα του επιθέτου (με ακρίβεια) και μετά κάνεις σειριακή αναζήτηση εκεί μέσα.

Γενικά πάντως δεν είναι και πολύ ξεκάθαρο πως δουλεύει το ανθρώπινο κεφάλι σε όλα τα θέματα. Ούτε δουλεύουν όλοι οι άνθρωποι με τον ίδιο τρόπο.

Τα παραπάνω είναι κυρίως ακαδημαικά επειδή ίσως ρώτησες αυτό.

Στα πλαίσια του μαθήματος, με δεδομένο ότι η δυαδική αναζήτηση είναι εκτός ύλης, μόνο σειριακά μπορούμε να ψάχνουμε πράγματα ακόμα και σε ταξινομημένους πίνακες. Δηλαδή τα ψάχνουμε ένα ένα με τη σειρά. Σε κάποιες εφαρμογές πάντως, πιστεύω πως θα μπορούσε να χρησιμοποιηθεί και η τεχνική του hash searching πάνω στο πρώτο γράμμα, όπως την περιγράφει και το βιβλίο. Ουσιαστικά θα είναι σειριακή αναζήτηση σε 2 φάσεις. Μια για το πρώτο γράμμα και μία μέσα σε όσα αρχίζουν από το ίδιο γράμμα για να βρεθεί το ακριβές όνομα.

Στο μάθημα η βάση μας είναι η σειριακή αναζήτηση.

filippos

Η ερώτηση του / της lala βρίσκεται αυτούσια σε τεστ αξιολόγησης επίδοσης στο βιβλίο καθηγητή (σελ.80)

Προτείνεται η απάντηση ΛΑΘΟΣ

Συμφωνώ με την απάντηση που προτείνεται αφού η σειριακή αναζήτηση συνίσταται στην σειριακή προσπέλαση των στοιχείων ενός πίνακα μέχρι να βρεθεί το ζητούμενο ή να αποδειχθεί η απουσία του όπως οι παραλλαγές στις οποίες αναφέρεται ο Παναγιώτης (ptsiotakis).

Δεν υπάρχει αμφιβολία ότι η παραπάνω περιγραφή ΔΕΝ αντιπροσωπεύει τις ενέργειες που κάνουμε οταν ψάχνουμε ένα τηλεφωνικό κατάλογο οι οποίοες πλησιάζουνε περισσότερο στο hash searching που περιγράφει και ο Γιώργος (gpapargi)

EPISKEPTHS

Η σειριακή ή η διαδική αναζήτηση είναι μέθοδοι αναζήτησης. Μπορεί να έχεις ταξινομημένα δεδομένα και να κάνεις σειριακή αναζήτηση. Απλά δυαδική μπορείς να κάνεις μόνο σε ταξινομημένα.

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