Παράδειγμα 1:Σειριακή αναζήτηση Αναζητείται η τιμή key στο μη ταξινομημένο πίνακα table Αλγόριθμος Sequential_Search Αρχή Αλγορίθμου Δεδομένα // n,table ,key // done=ψευδής position=0 i=1 Όσο (done=ψευδής) και (i<=n) επανέλαβε Αν table[i]=key τότε done=αληθής position=i Αλλιώς i=i+1 Τέλος_αν Τέλος_Επανάληψης Αποτελέσματα // done,position // Τέλος Αλγορίθμου
Παράδειγμα 1:Σειριακή αναζήτηση Αλγόριθμος Sequential_Search Αρχή Αλγορίθμου !Ξεκινά ο αλγόριθμος Δεδομένα // n,table ,key // done=ψευδής position=0 i=1 Όσο (done=ψευδής) και (i<=n) επανέλαβε Αν table[i]=key τότε done=αληθής position=i Αλλιώς i=i+1 Τέλος_αν Τέλος_Επανάληψης Αποτελέσματα // done,position // Τέλος Αλγορίθμου
Παράδειγμα 1:Σειριακή αναζήτηση Αλγόριθμος Sequential_Search Αρχή Αλγορίθμου Δεδομένα // n,table ,key // !Δίνονται τα δεδομένα done=ψευδής position=0 i=1 Όσο (done=ψευδής) και (i<=n) επανέλαβε Αν table[i]=key τότε done=αληθής position=i Αλλιώς i=i+1 Τέλος_αν Τέλος_Επανάληψης Αποτελέσματα // done,position // Τέλος Αλγορίθμου
Παράδειγμα 1:Σειριακή αναζήτηση Αλγόριθμος Sequential_Search Αρχή Αλγορίθμου Δεδομένα // n,table ,key // !Δίνονται αρχικές τιμές στις τρεις done=ψευδής μεταβλητές. Η μεταβλητή done position=0 είναι ψευδής όσο δεν έχει βρεθεί i=1 η τιμή keys, Όσο (done=ψευδής) και (i<=n) επανέλαβε Αν table[i]=key τότε done=αληθής Η μεταβλητή position επιστρέφει position=i τη θέση του στοιχείου στον πίνακα Αλλιώς table. Αν το στοιχείο δεν βρεθεί τότε i=i+1 επιστρέφεται η τιμή 0. Τέλος_αν Τέλος_Επανάληψης Αποτελέσματα // done,position // Τέλος Αλγορίθμου
Παράδειγμα 1:Σειριακή αναζήτηση Αλγόριθμος Sequential_Search Αρχή Αλγορίθμου Δεδομένα // n,table ,key // done=ψευδής ! Όσο η τιμή key δεν έχει βρεθεί position=0 και δεν έχουν προσπελαθεί όλα i=1 τα στοιχεία του πίνακα..... Όσο (done=ψευδής) και (i<=n) επανέλαβε Αν table[i]=key τότε done=αληθής position=i Αλλιώς i=i+1 Τέλος_αν Τέλος_Επανάληψης Αποτελέσματα // done,position // Τέλος Αλγορίθμου
Παράδειγμα 1:Σειριακή αναζήτηση Αλγόριθμος Sequential_Search Αρχή Αλγορίθμου Δεδομένα // n,table ,key // done=ψευδής position=0 !Αν η τιμή key βρεθεί στο i i=1 του πίνακα τότε ........ Όσο (done=ψευδής) και (i<=n) επανέλαβε Αν table[i]=key τότε done=αληθής position=i Αλλιώς i=i+1 Τέλος_αν Τέλος_Επανάληψης Αποτελέσματα // done,position // Τέλος Αλγορίθμου
Παράδειγμα 1:Σειριακή αναζήτηση Αλγόριθμος Sequential_Search Αρχή Αλγορίθμου Δεδομένα // n,table ,key // done=ψευδής position=0 !Τότε η done= αληθής i=1 position=θέση του στοιχείου i Όσο (done=ψευδής) και (i<=n) επανέλαβε Αν table[i]=key τότε done=αληθής position=i Αλλιώς i=i+1 Τέλος_αν Τέλος_Επανάληψης Αποτελέσματα // done,position // Τέλος Αλγορίθμου
Παράδειγμα 1:Σειριακή αναζήτηση Αλγόριθμος Sequential_Search Αρχή Αλγορίθμου Δεδομένα // n,table ,key // done=ψευδής position=0 i=1 Όσο (done=ψευδής) και (i<=n) επανέλαβε Αν table[i]=key τότε done=αληθής position=i Αλλιώς i=i+1 Τέλος_αν Τέλος_Επανάληψης Αποτελέσματα // done,position // Τέλος Αλγορίθμου
Παράδειγμα 1:Σειριακή αναζήτηση Αλγόριθμος Sequential_Search Αρχή Αλγορίθμου Δεδομένα // n,table ,key // done=ψευδής !Εξετάζουμε το επόμενο στοιχείο position=0 i=1 Όσο (done=ψευδής) και (i<=n) επανέλαβε Αν table[i]=key τότε done=αληθής position=i Αλλιώς i=i+1 Τέλος_αν Τέλος_Επανάληψης Αποτελέσματα // done,position // Τέλος Αλγορίθμου
Παράδειγμα 1:Σειριακή αναζήτηση Αλγόριθμος Sequential_Search Αρχή Αλγορίθμου Δεδομένα // n,table ,key // done=ψευδής position=0 i=1 Όσο (done=ψευδής) και (i<=n) επανέλαβε Αν table[i]=key τότε done=αληθής position=i Αλλιώς i=i+1 Τέλος_αν Τέλος_Επανάληψης Αποτελέσματα // done,position // Τέλος Αλγορίθμου
Παράδειγμα 1:Σειριακή αναζήτηση Αλγόριθμος Sequential_Search Αρχή Αλγορίθμου Δεδομένα // n,table ,key // done=ψευδής !Εφόσον έχουν προσπελασθεί όλα position=0 τα στοιχεία του πίνακα table τότε i=1 τελειώνει η επανάληψη Όσο (done=ψευδής) και (i<=n) επανέλαβε Αν table[i]=key τότε done=αληθής position=i Αλλιώς i=i+1 Τέλος_αν Τέλος_Επανάληψης Αποτελέσματα // done,position // Τέλος Αλγορίθμου
Παράδειγμα 1:Σειριακή αναζήτηση Αλγόριθμος Sequential_Search Αρχή Αλγορίθμου Δεδομένα // n,table ,key // done=ψευδής !Εμφάνιση αποτελεσμάτων position=0 i=1 Όσο (done=ψευδής) και (i<=n) επανέλαβε Αν table[i]=key τότε done=αληθής position=i Αλλιώς i=i+1 Τέλος_αν Τέλος_Επανάληψης Αποτελέσματα // done,position // Τέλος Αλγορίθμου
Παράδειγμα 1:Σειριακή αναζήτηση Αλγόριθμος Sequential_Search Αρχή Αλγορίθμου Δεδομένα // n,table ,key // done=ψευδής position=0 i=1 Όσο (done=ψευδής) και (i<=n) επανέλαβε Αν table[i]=key τότε done=αληθής position=i Αλλιώς i=i+1 Τέλος_αν Τέλος_Επανάληψης Αποτελέσματα // done,position // Τέλος Αλγορίθμου
Παράδειγμα 1:Σειριακή αναζήτηση Εφαρμογή1: Πιο κάτω παρουσιάζεται ένας μη ταξινομημένος πίνακας με οκτώ αταξινόμητους ακεραίους.Ζητείται να βρεθεί η τιμή 63. 1 2 3 4 5 6 7 8 24 90 38 63 16 54 71 49 Όσο (done=ψευδής) και (i<=n) επανέλαβε Αν table[i]=key τότε done=αληθής position=i Αλλιώς i=i+1 Τέλος_αν
Παράδειγμα 1:Σειριακή αναζήτηση 1η Δοκιμή key=63 i=1 Done=Ψευδής Όσο (done=ψευδής) και (i<=n) επανέλαβε Αν table[i]=key τότε done=αληθής position=i Αλλιώς i=i+1 Τέλος_αν 24 90 38 63 16 54 71 49 key < > table[1] 63 < > 24 i=1+1=2 done= Ψευδής
Παράδειγμα 1: Σειριακή αναζήτηση 2η Δοκιμή key=63 i=2 Done=Ψευδής Όσο (done=ψευδής) και (i<=n) επανέλαβε Αν table[i]=key τότε done=αληθής position=i Αλλιώς i=i+1 Τέλος_αν 24 90 38 63 16 54 71 49 key < > table[2] 63 < >90 i=2+1=3 done= Ψευδής
Παράδειγμα 1: Σειριακή αναζήτηση 3η Δοκιμή key=63 i=3 Done=Ψευδής Όσο (done=ψευδής) και (i<=n) επανέλαβε Αν table[i]=key τότε done=αληθής position=i Αλλιώς i=i+1 Τέλος_αν 24 90 38 63 16 54 71 49 key < > table[3] 63 < > 38 i=3+1=4 done= Ψευδής
Παράδειγμα 1:Σειριακή αναζήτηση 4η Δοκιμή key=63 i=4 Done=Ψευδής και (i<=n) επανέλαβε Αν table[i]=key τότε done=αληθής position=i Αλλιώς i=i+1 Τέλος_αν 24 90 38 63 16 54 71 49 key=table[4] 63 = 63 position=4 done= Αληθής Χρειάστηκαν 4 προσπελάσεις για την επιτυχή αναζήτηση της τιμής 63
Παράδειγμα 1: Σειριακή αναζήτηση Εφαρμογή2: Πιο κάτω παρουσιάζεται ο ίδιος μη ταξινομημένος πίνακας με τους οκτώ αταξινόμητους ακεραίους.Ζητείται να βρεθεί η τιμή 77. 1 2 3 4 5 6 7 8 24 90 38 63 16 54 71 49 Όσο (done=ψευδής) και (i<=n) επανέλαβε Αν table[i]=key τότε done=αληθής position=i Αλλιώς i=i+1 Τέλος_αν
Παράδειγμα 1: Σειριακή αναζήτηση 1η Δοκιμή key=77 i=1 Done=Ψευδής Όσο (done=ψευδής) και (i<=n) επανέλαβε Αν table[i]=key τότε done=αληθής position=i Αλλιώς i=i+1 Τέλος_αν 24 90 38 63 16 54 71 49 key < > table[1] 77 < > 24 i=1+1=2 done= Ψευδής
Παράδειγμα 1: Σειριακή αναζήτηση 2η Δοκιμή key=77 i=2 Done=Ψευδής Όσο (done=ψευδής) και (i<=n) επανέλαβε Αν table[i]=key τότε done=αληθής position=i Αλλιώς i=i+1 Τέλος_αν 24 90 38 63 16 54 71 49 key < > table[2] 77 < > 90 i=2+1=3 done= Ψευδής
Παράδειγμα 1: Σειριακή αναζήτηση 3η Δοκιμή key=77 i=3 Done=Ψευδής Όσο (done=ψευδής) και (i<=n) επανέλαβε Αν table[i]=key τότε done=αληθής position=i Αλλιώς i=i+1 Τέλος_αν 24 90 38 63 16 54 71 49 key < > table[3] 77 < > 38 i=3+1=4 done= Ψευδής
Παράδειγμα 1:Σειριακή αναζήτηση 4η Δοκιμή key=77 i=4 Done=Ψευδής Όσο (done=ψευδής) και (i<=n) επανέλαβε Αν table[i]=key τότε done=αληθής position=i Αλλιώς i=i+1 Τέλος_αν 24 90 38 63 16 54 71 49 key < > table[4] 77 < > 63 i=4+1=5 done= Ψευδής
Παράδειγμα 1:Σειριακή αναζήτηση 5η Δοκιμή key=77 i=5 Done=Ψευδής Όσο (done=ψευδής) και (i<=n) επανέλαβε Αν table[i]=key τότε done=αληθής position=i Αλλιώς i=i+1 Τέλος_αν 24 90 38 63 16 54 71 49 key < > table[5] 77 < > 16 i=5+1=6 done= Ψευδής
Παράδειγμα 1:Σειριακή αναζήτηση 6η Δοκιμή key=77 i=6 Done=Ψευδής Όσο (done=ψευδής) και (i<=n) επανέλαβε Αν table[i]=key τότε done=αληθής position=i Αλλιώς i=i+1 Τέλος_αν 24 90 38 63 16 54 71 49 key < > table[6] 77 < > 54 i=6+1=7 done= Ψευδής
Παράδειγμα 1:Σειριακή αναζήτηση 7η Δοκιμή key=77 i=7 Done=Ψευδής Όσο (done=ψευδής) και (i<=n) επανέλαβε Αν table[i]=key τότε done=αληθής position=i Αλλιώς i=i+1 Τέλος_αν 24 90 38 63 16 54 71 49 key < > table[7] 77 < > 71 i=7+1=8 done= Ψευδής
Παράδειγμα 1:Σειριακή αναζήτηση 8η Δοκιμή key=77 i=8 Done=Ψευδής και (i<=n) επανέλαβε Αν table[i]=key τότε done=αληθής position=i Αλλιώς i=i+1 Τέλος_αν 24 90 38 63 16 54 71 49 key < > table[8] 77 < > 49 i=8+1=9 done= Ψευδής Για την αναζήτηση της ανύπαρκτης τιμής 77 απαιτούνται 8 προσπελάσεις, σαρώνεται όλος ο πίνακας