ΑΕΠΠ 3ο Κεφάλαιο Γεωργαλλίδης Δημήτρης Καθηγητής Πληροφορικής 1 Ο Λύκειο Ρόδου
ΑΝΑΖΗΤΗΣΗ ΣΕ ΠΙΝΑΚΑ ΣΕΙΡΙΑΚΗ ΣΕΙΡΙΑΚΗ ΔΥΑΔΙΚΗ ΔΥΑΔΙΚΗ (Μόνο για ταξινομημένους Πίνακες) (Μόνο για ταξινομημένους Πίνακες)
ΣΕΙΡΙΑΚΗ ΑΝΑΖΗΤΗΣΗ Δίνεται ένας πίνακας Α που περιέχει Ν τυχαίους αριθμούς. Να γραφεί αλγόριθμος που να διαβάζει έναν αριθμό και να ελέγχει αν αυτός υπάρχει στον πίνακα. (ΔΣ4 σελ. 96 Τετράδιο Μαθητή) Δίνεται ένας πίνακας Α που περιέχει Ν τυχαίους αριθμούς. Να γραφεί αλγόριθμος που να διαβάζει έναν αριθμό και να ελέγχει αν αυτός υπάρχει στον πίνακα. (ΔΣ4 σελ. 96 Τετράδιο Μαθητή) Υπόδειξη: Η αναζήτηση να σταματά μόλις βρεθεί στοιχείο του πίνακα ίσο με τον αριθμό που διαβάστηκε. Υπόδειξη: Η αναζήτηση να σταματά μόλις βρεθεί στοιχείο του πίνακα ίσο με τον αριθμό που διαβάστηκε.
Διάβασε αριθμός Υπάρχει Για i από 1 μέχρι Ν αν Α[i] = αριθμός τότε Τέλος_επανάληψης Τι πρόβλημα υπάρχει; Π.χ. αν αριθμός = 7;
Διάβασε αριθμός Υπάρχει ……… i …… Όσο i <= Ν ….. Υπάρχει = ………. επανάλαβε αν Α[i] = αριθμός τότε Υπάρχει Αληθής Θέση i αλλιώς i ……. τέλος_ανΤέλος_επανάληψης Αν υπάρχει =
ΠΑΡΑΛΛΑΓΗ Α Το στοιχείο που ψάχνουμε μπορεί να υπάρχει περισσότερες από μια φορές (όσο επανάλαβε vs για από μέχρι) (όσο επανάλαβε vs για από μέχρι)
A) Το στοιχείο που ψάχνουμε υπάρχει περισσότερες από μια φορές σε αταξινόμητο πίνακα Διάβασε αριθμός Υπάρχει Για i από 1 μέχρι Ν αν Α[i] = αριθμός τότε Τέλος_επανάληψης Π.χ. αν αριθμός = 16
Ο πίνακας μπορεί να είναι ταξινομημένος ΠΑΡΑΛΛΑΓΗ Β Έστω Αριθμός = 2 ο αριθμός που αναζητούμε
Διάβασε αριθμός Υπάρχει ……… τέλος ……… i …… Όσο i <= Ν ….. τέλος = ………. επανάλαβε αν Α[i] = αριθμός τότε Υπάρχει …….. θέση i τέλος ……… αλλιώς_αν Α[i] … αριθμός τότε τέλος ……… αλλιώς i ……. τέλος_ανΤέλος_επανάληψης Αν υπάρχει = Το στοιχείο που ψάχνουμε εμφανίζεται στον πίνακα μια φορά
Διάβασε αριθμός τέλος ……… i …… Όσο i <= Ν ….. τέλος = ………. επανάλαβε αν Α[i] = αριθμός τότε εμφάνισε i i i + 1 αλλιώς_αν Α[i] … αριθμός τότε τέλος ……… αλλιώς i ……. τέλος_ανΤέλος_επανάληψης Το στοιχείο που ψάχνουμε μπορεί να υπάρχει περισσότερες από μια φορές
ΔΥΑΔΙΚΗ ΑΝΑΖΗΤΗΣΗ (Μόνο για ταξινομημένους Πίνακες) Είναι πιο γρήγορη από τη σειριακή!!! Παράδειγμα: Γράφω κρυφά έναν αριθμό από το ένα ως το 100 σε ένα χαρτί. Βρείτε τον αριθμό ρωτώντας: Α) από το 1 ως το 100 (σειριακή) Β) αν είναι από το 50, το 75 (ή 25), το …(δυαδική)
Η σειριακή αναζήτηση χρησιμοποιείται: Ο πίνακας δεν είναι ταξινομημένος Ο πίνακας δεν είναι ταξινομημένος Για μικρούς πίνακες Για μικρούς πίνακες Όταν η αναζήτηση δεν εκτελείται συχνά Όταν η αναζήτηση δεν εκτελείται συχνά
Για το σπίτι: Α) Βιβλίο Μαθητή Σελ. 64 – 65 Β) Τετράδιο Μαθητή ΔΣ4 σελ. 96 ΔΣ4 σελ. 96 Γ) Ασκήσεις φυλλαδίου (Αναζήτηση)