Πέμπτη 27 Φεβρουαρίου 2014

ΑΝΑΖΗΤΗΣΗ ΣΕ 1D

Αναζήτηση

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

1.Εμφάνιση όλων των θέσεων που βρίσκεται το στοιχείο που αναζητούμε

Αλγόριθμος Σειριακή_Αναζήτηση_Εμφάνιση_Όλων
Δεδομένα // ntablekey //
done ← Ψευδής
Για i από 1 μέχρι n
         Αν table[i] = key τότε
                   Εμφάνισε "Η τιμή βρέθηκε στη θέση" ,i
                   done ← Αληθής
         Τέλος_αν
Τέλος_επανάληψης
Αν done = Ψευδής τότε
         Εμφάνισε "Η τιμή δεν βρέθηκε στον πίνακα"
Τέλος_αν
Τέλος Σειριακή_Αναζήτηση_Εμφάνιση_Όλων

2. Εμφάνιση της πρώτης θέσης που βρίσκεται το στοιχείο που αναζητούμε (η περίπτωση του σχολικού βιβλίου)

Αλγόριθμος Σειριακή_Αναζήτηση_Πρώτη_Εμφάνιση
Δεδομένα // ntablekey //
done ← Ψευδής
i ← 1
Όσο i ≤ n και done = Ψευδής επανάλαβε
         Αν table[i] = key τότε
                   Εμφάνισε "Η τιμή βρέθηκε στη θέση" ,i
                   done ← Αληθής
         Τέλος_αν
         i ← i + 1
Τέλος_επανάληψης
Αν done = Ψευδής τότε
         Εμφάνισε "Η τιμή δεν βρέθηκε στον πίνακα"
Τέλος_αν
Τέλος Σειριακή_Αναζήτηση_Πρώτη_Εμφάνιση

3. Εμφάνιση της τελευταίας θέσης που βρίσκεται το στοιχείο που αναζητούμε

Αλγόριθμος Σειριακή_Αναζήτηση_Τελευταία_Εμφάνιση
Δεδομένα // ntablekey //
done ← Ψευδής
position ← 0
Για i από 1 μέχρι n
         Αν table[i] = key τότε
                   position ← i
                   done ← Αληθής
         Τέλος_αν
Τέλος_επανάληψης
Αν done = Ψευδής τότε
         Εμφάνισε "Η τιμή δεν βρέθηκε στον πίνακα"
Αλλιώς
Εμφάνισε "Η τιμή βρέθηκε στη θέση" ,position
Τέλος_αν
Τέλος Σειριακή_Αναζήτηση_Τελευταία_Εμφάνιση

Δεν υπάρχουν σχόλια:

Δημοσίευση σχολίου