Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Παράδειγμα 1:Σειριακή αναζήτηση

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "Παράδειγμα 1:Σειριακή αναζήτηση"— Μεταγράφημα παρουσίασης:

1 Παράδειγμα 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 // Τέλος Αλγορίθμου

2 Παράδειγμα 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 // Τέλος Αλγορίθμου

3 Παράδειγμα 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 // Τέλος Αλγορίθμου

4 Παράδειγμα 1:Σειριακή αναζήτηση
Αλγόριθμος Sequential_Search Αρχή Αλγορίθμου Δεδομένα // n,table ,key // !Δίνονται αρχικές τιμές στις τρεις done=ψευδής μεταβλητές. Η μεταβλητή done position= είναι ψευδής όσο δεν έχει βρεθεί i= η τιμή keys, Όσο (done=ψευδής) και (i<=n) επανέλαβε Αν table[i]=key τότε done=αληθής Η μεταβλητή position επιστρέφει position=i τη θέση του στοιχείου στον πίνακα Αλλιώς table. Αν το στοιχείο δεν βρεθεί τότε i=i επιστρέφεται η τιμή 0. Τέλος_αν Τέλος_Επανάληψης Αποτελέσματα // done,position // Τέλος Αλγορίθμου

5 Παράδειγμα 1:Σειριακή αναζήτηση
Αλγόριθμος Sequential_Search Αρχή Αλγορίθμου Δεδομένα // n,table ,key // done=ψευδής ! Όσο η τιμή key δεν έχει βρεθεί position= και δεν έχουν προσπελαθεί όλα i= τα στοιχεία του πίνακα..... Όσο (done=ψευδής) και (i<=n) επανέλαβε Αν table[i]=key τότε done=αληθής position=i Αλλιώς i=i+1 Τέλος_αν Τέλος_Επανάληψης Αποτελέσματα // done,position // Τέλος Αλγορίθμου

6 Παράδειγμα 1:Σειριακή αναζήτηση
Αλγόριθμος Sequential_Search Αρχή Αλγορίθμου Δεδομένα // n,table ,key // done=ψευδής position= !Αν η τιμή key βρεθεί στο i i= του πίνακα τότε Όσο (done=ψευδής) και (i<=n) επανέλαβε Αν table[i]=key τότε done=αληθής position=i Αλλιώς i=i+1 Τέλος_αν Τέλος_Επανάληψης Αποτελέσματα // done,position // Τέλος Αλγορίθμου

7 Παράδειγμα 1:Σειριακή αναζήτηση
Αλγόριθμος Sequential_Search Αρχή Αλγορίθμου Δεδομένα // n,table ,key // done=ψευδής position= !Τότε η done= αληθής i= position=θέση του στοιχείου i Όσο (done=ψευδής) και (i<=n) επανέλαβε Αν table[i]=key τότε done=αληθής position=i Αλλιώς i=i+1 Τέλος_αν Τέλος_Επανάληψης Αποτελέσματα // done,position // Τέλος Αλγορίθμου

8 Παράδειγμα 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 // Τέλος Αλγορίθμου

9 Παράδειγμα 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 // Τέλος Αλγορίθμου

10 Παράδειγμα 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 // Τέλος Αλγορίθμου

11 Παράδειγμα 1:Σειριακή αναζήτηση
Αλγόριθμος Sequential_Search Αρχή Αλγορίθμου Δεδομένα // n,table ,key // done=ψευδής !Εφόσον έχουν προσπελασθεί όλα position= τα στοιχεία του πίνακα table τότε i= τελειώνει η επανάληψη Όσο (done=ψευδής) και (i<=n) επανέλαβε Αν table[i]=key τότε done=αληθής position=i Αλλιώς i=i+1 Τέλος_αν Τέλος_Επανάληψης Αποτελέσματα // done,position // Τέλος Αλγορίθμου

12 Παράδειγμα 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 // Τέλος Αλγορίθμου

13 Παράδειγμα 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 // Τέλος Αλγορίθμου

14 Παράδειγμα 1:Σειριακή αναζήτηση
Εφαρμογή1: Πιο κάτω παρουσιάζεται ένας μη ταξινομημένος πίνακας με οκτώ αταξινόμητους ακεραίους.Ζητείται να βρεθεί η τιμή 63. 24 90 38 63 16 54 71 49 Όσο (done=ψευδής) και (i<=n) επανέλαβε Αν table[i]=key τότε done=αληθής position=i Αλλιώς i=i+1 Τέλος_αν

15 Παράδειγμα 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= Ψευδής

16 Παράδειγμα 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= Ψευδής

17 Παράδειγμα 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= Ψευδής

18 Παράδειγμα 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

19 Παράδειγμα 1: Σειριακή αναζήτηση
Εφαρμογή2: Πιο κάτω παρουσιάζεται ο ίδιος μη ταξινομημένος πίνακας με τους οκτώ αταξινόμητους ακεραίους.Ζητείται να βρεθεί η τιμή 77. 24 90 38 63 16 54 71 49 Όσο (done=ψευδής) και (i<=n) επανέλαβε Αν table[i]=key τότε done=αληθής position=i Αλλιώς i=i+1 Τέλος_αν

20 Παράδειγμα 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= Ψευδής

21 Παράδειγμα 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= Ψευδής

22 Παράδειγμα 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= Ψευδής

23 Παράδειγμα 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= Ψευδής

24 Παράδειγμα 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= Ψευδής

25 Παράδειγμα 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= Ψευδής

26 Παράδειγμα 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= Ψευδής

27 Παράδειγμα 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 προσπελάσεις, σαρώνεται όλος ο πίνακας


Κατέβασμα ppt "Παράδειγμα 1:Σειριακή αναζήτηση"

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google