Αλγόριθμοι Αναζήτησης. (AeppAcademy.com)

Σχετικά έγγραφα
Διαδικασιακός Προγραμματισμός

I. ΑΛΓΟΡΙΘΜΟΣ II. ΠΡΑΞΕΙΣ - ΣΥΝΑΡΤΗΣΕΙΣ III. ΕΠΑΝΑΛΗΨΕΙΣ. 1. Τα πιο συνηθισμένα σενάρια παραβίασης αλγοριθμικών κριτηρίων είναι:

Κεφάλαια Εντολές επανάληψης. Τρεις εντολές επανάληψης. Επιλογή εντολής επανάληψης ΟΣΟ...ΕΠΑΝΑΛΑΒΕ. Σύνταξη στη ΓΛΩΣΣΑ

ΕΝΔΕΙΚΤΙΚΕΣ ΑΠΑΝΤΗΣΕΙΣ ΘΕΜΑ Α Α1. 1 ΣΩΣΤΟ 2 ΛΑΘΟΣ 3 ΛΑΘΟΣ 4 ΛΑΘΟΣ 5 ΣΩΣΤΟ

φροντιστήρια Θέματα Ανάπτυξης Εφαρμογών σε Προγραμματιστικό Περιβάλλον Γ λυκείου Προσανατολισμός Σπουδών Οικονομίας και Πληροφορικής

1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες εντολές (μορφές) της;

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

ΘΕΜΑΤΑ ΠΡΟΣΟΜΟΙΩΣΗΣ ΠΑΝΕΛΛΑΔΙΚΩΝ ΕΞΕΤΑΣΕΩΝ Γ ΤΑΞΗΣ ΗΜΕΡΗΣΙΟΥ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

Ταξινόμηση. Ταξινόμηση ευθείας ανταλλαγής (Φυσαλίδα) 1) Να ταξινομηθεί ο πίνακας Α[Ν] σε αύξουσα σειρά με τη μέθοδο της φυσαλίδας.

Θέματα ΑΕΠΠ Πανελλήνιες Εξετάσεις 2006

ΕΚΠΑΙΔΕΥΤΗΡΙΑ ΝΕΑ ΠΑΙΔΕΙΑ

Έστω ένας πίνακας με όνομα Α δέκα θέσεων : 1 η 2 η 3 η 4 η 5 η 6 η 7 η 8 η 9 η 10 η

Ενδεικτικές Ερωτήσεις Θεωρίας

ΟΜΟΣΠΟΝΔΙΑ ΕΚΠΑΙΔΕΥΤΙΚΩΝ ΦΡΟΝΤΙΣΤΩΝ ΕΛΛΑΔΟΣ (Ο.Ε.Φ.Ε.) ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ 2019 Β ΦΑΣΗ Γ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ

Ημερομηνία: 1/03/15 Διάρκεια διαγωνίσματος: 180 Εξεταζόμενο μάθημα: Προγραμματισμός (Δομή Επανάληψης) Υπεύθυνος καθηγητής: Παπαδόπουλος Πέτρος

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΣΧΟΛΙΚΟΥ ΕΤΟΥΣ

2. Μια (1) μονάδες για την ορθή παρουσίαση της ουράς Μια (1) μονάδα για τις ορθές τιμές των δεικτών ( για κάθε δείκτη).

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΟΝΟΜΑΤΕΠΩΝΥΜΟ:

Α2. Να γράψετε στο τετράδιο σας τον αριθμό 1-4 κάθε πρότασης και δίπλα το γράμμα που δίνει τη σωστή επιλογή.

2ο ΓΕΛ ΑΓ.ΔΗΜΗΤΡΙΟΥ ΑΕΠΠ ΘΕΟΔΟΣΙΟΥ ΔΙΟΝ ΠΡΟΣΟΧΗ ΣΤΑ ΠΑΡΑΚΑΤΩ

Ακρότατα πίνακα, χωρίς min, max, μόνο με pos

Αν ένα πρόβλημα λύνεται από δύο ή περισσότερους αλγόριθμους, ποιος θα είναι ο καλύτερος; Με ποια κριτήρια θα τους συγκρίνουμε;

ΑΣΚΗΣΕΙΣ ΘΕΩΡΙΑΣ. ΘΕΜΑ 1 Δίνεται το παρακάτω τμήμα δηλώσεων ενός προγράμματος σε «ΓΛΩΣΣΑ»: ΜΕΤΑΒΛΗΤΕΣ ΠΡΑΓΜΑΤΙΚΕΣ: Π[10] ΛΟΓΙΚΕΣ: ΒΡΕΘΗΚΕ ΑΚΕΡΑΙΕΣ: i

ΘΕΜΑ Α. Α2. Να αναφέρετε από τι εξαρτάται η επιλογή του καλύτερου αλγορίθμου ταξινόμησης. Μονάδες 4. Σελίδα 1 από 8

Ενότητα 3: ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΑΛΓΟΡΙΘΜΟΙ

Ασκήσεις στα υποπρογράμματα

ΘΕΜΑ Α. Μονάδες 10 Α2.

ΛΥΜΕΝΕΣ ΑΣΚΗΣΕΙΣ - ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ

ΦΡΟΝΤΙΣΤΗΡΙΟ Δ.Ε «ΘΕΜΕΛΙΟ» ΕΛΕΥΣΙΝΑΣ

ΚΟΡΥΦΑΙΟ ΦΡΟΝΤΙΣΤΗΡΙΟ korifeo.gr

Α1. 1-Λάθος 2-Λάθος 3-Σωστό 4-Σωστό 5-Λάθος

ΘΕΜΑ Α ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ ΠΑΝΕΛΛΑΔΙΚΩΝ ΣΧΟΛΙΚΟΥ ΕΤΟΥΣ

ΤΡΙΩΡΗ ΓΡΑΠΤΗ ΔΟΚΙΜΑΣΙΑ

Να γράψετε τα αποτελέσματα αυτού του αλγόριθμου για Χ=13, Χ=9 και Χ=22. Και στις 3 περιπτώσεις το αποτέλεσμα του αλγορίθμου είναι 1

Ταξινόμηση. Ταξινόμηση ευθείας ανταλλαγής (Φυσαλίδα) 1) Να ταξινομηθεί ο πίνακας Α[Ν] σε αύξουσα σειρά με τη μέθοδο της φυσαλίδας.

i 1 Όσο i <> 100 επανάλαβε i i + 2 Γράψε A[i] Τέλος_επανάληψης

ΠΡΟΣ: Τηλέφωνο: Ινστιτούτο Εκπαιδευτικής Πολιτικής ΚΟΙΝ.:

Α.1 Τι γνωρίζετε για τον διερμηνευτή, τον μεταγλωττιστή και ποιες οι διαφορές τους. 15 ΜΟΝΑΔΕΣ

Αλγόριθµοι Αναζήτησης και Ταξινόµησης

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Τελικό επαναληπτικό διαγώνισμα Επιμέλεια: Δρεμούσης Παντελής

Προγραμματιστικές Τεχνικές

Γκύζη 14-Αθήνα Τηλ :

ΑΠΑΝΤΗΣΕΙΣ Α1. 1-ΛΑΘΟΣ 2-ΣΩΣΤ0 3-ΣΩΣΤΟ 4-ΣΩΣΤ0 5-ΛΑΘΟΣ. Στήλη Β (κώδικας)

6. Σ 7. Λ 8. Λ 9. Λ 10. Λ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Γ Τάξη Ηµερήσιου Γενικού Λυκείου

Πίνακες. Ι.Ε.Κ ΓΛΥΦΑΔΑΣ Τεχνικός Τεχνολογίας Internet Αλγοριθμική Ι (Ε) Σχολ. Ετος A Εξάμηνο

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ. Εξετάσεις Προσομοίωσης 10/04/2018

1. Η χειρότερη περίπτωση είναι όταν γίνου 10 επαναλήψεις, δηλαδή για n = 0.

Προτεινόμενα Θέματα ΑΕΠΠ

ΔΙΑΓΩΝΙΣΜΑ: ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ: Γ ΛΥΚΕΙΟΥ HM/NIA: 21/2/2016

Α2. Να αναφέρετε ονομαστικά τις βασικές λειτουργίες που εκτελεί ένας υπολογιστής (Μονάδες 3)

ΑΠΑΝΤΗΣΕΙΣ. ΘΕΜΑ Α Α1. 1. ΣΩΣΤΟ 2. ΛΑΘΟΣ 3. ΛΑΘΟΣ 4. ΣΩΣΤΟ 5. ΣΩΣΤΟ (2 μονάδες για κάθε ερώτημα)

Προγραµµατιστικές Τεχνικές

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

Ταξινόμηση. 1. Ταξινόμηση με Εισαγωγή 2. Ταξινόμηση με Επιλογή. Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΟΝΟΜΑΤΕΠΩΝΥΜΟ:

ΘΕΜΑ 1 ο. β) 1. δυαδική 2. κατανόηση 3. τυπικοί 4. τεχνητής νοημοσύνης 5. ακέραιου

Γ7.5 Αλγόριθμοι Αναζήτησης. Γ Λυκείου Κατεύθυνσης

Α1. τις παρακάτω προτάσεις, να γράψετε τον αριθμό της καθεμιάς και δίπλα το γράμμα αν είναι σωστή ή Λ αν είναι λανθασμένη.

Κεφάλαιο 2.2 Δραστηριότητες

i i+ 2 Γράψε α[i] Τέλος_επανάληψης

Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο Κάθε δομή μπορεί να χρησιμοποιηθεί σε οποιοδήποτε πρόβλημα ή εφαρμογή

1. Δεν μπορεί να γίνει κλήση μίας διαδικασίας μέσα από μία συνάρτηση.

ΘΕΜΑΤΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Γ ΛΥΚΕΙΟΥ ΕΠΑΝΑΛΗΠΤΙΚΟ 10/4/2016

ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ : Γ ΛΥΚΕΙΟΥ ΣΠΟΥΔΕΣ ΟΙΚΟΝΟΜΙΑΣ & ΠΛΗΡΟΦΟΡΙΚΗΣ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΣΧΟΛΙΚΟΥ ΕΤΟΥΣ

1. Δεν μπορεί να γίνει κλήση μίας διαδικασίας μέσα από μία συνάρτηση.

ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 18/02/2013 ΑΠΑΝΤΗΣΕΙΣ ΘΕΜΑ Α

ÔÏÕËÁ ÓÁÑÑÇ ÊÏÌÏÔÇÍÇ

Πληροφορική 2. Αλγόριθμοι

Αναζήτηση. Στην λειτουργία της αναζήτησης εξακριβώνεται η παρουσία ή η απουσία ενός δεδομένου σε μια δομή δεδομένων.

ΠΡΟΤΕΙΝΟΜΕΝΑ ΘΕΜΑΤΑ ΑΝΑΠΤΥΞΗΣ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

Εισαγωγή στην επιστήμη των υπολογιστών. Λογισμικό Υπολογιστών Κεφάλαιο 8ο Αλγόριθμοι

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΑΠΑΝΤΗΣΕΙΣ ΔΙΑΓΩΝΙΣΜΑ ΙIΙ

ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ ΘΕΜΑ Α

ΑΕΠΠ 2o Επαναληπτικό Διαγώνισμα

Α2. Να γράψετε στο τετράδιο απαντήσεών σας το κατάλληλο τμήμα κώδικα, κάνοντας τις απαραίτητες αλλαγές σύμφωνα με την εκάστοτε εκφώνηση:

Α Ν Α Λ Τ Η Α Λ Γ Ο Ρ Ι Θ Μ Ω Ν Κ Ε Υ Α Λ Α Ι Ο 5. Πως υπολογίζεται ο χρόνος εκτέλεσης ενός αλγορίθμου;

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΟΝΟΜΑΤΕΠΩΝΥΜΟ:

Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο 2

ΕΚΦΩΝΗΣΕΙΣ. ii) Ποιούς τρόπους αναπαράστασης ενός αλγόριθµου γνωρίζετε;

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ. 1 ο ΚΕΦΑΛΑΙΟ

ΘΕΜΑ 1 ο. S <-- 0 ιάβασε Υ Όσο α <= Υ επανάλαβε S <-- S +α. Τέλος_επανάληψης

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ ΠΑΝΕΛΛΑΔΙΚΩΝ ΣΧΟΛΙΚΟΥ ΕΤΟΥΣ

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 8 Ο. Ταξινόμηση και Αναζήτηση Συναρτήσεις χειρισμού οθόνης ΣΙΝΑΤΚΑΣ Ι. ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Κεφάλαιο 2 ο Βασικές Έννοιες Αλγορίθμων (σελ )

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ

Ι. ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Της Γ τάξης Ημερησίου Γενικού Λυκείου

ΑΡΧΗ 1ης ΣΕΛΙΔΑΣ. ii) Πόσες φορές θα εκτελεστεί η εντολή ΔΙΑΒΑΣΕ Α[μ,λ] στον αλγόριθμο της προηγούμενης ερώτησης; α) 35 β) 12 γ) 20

ΒΑΣΙΚΕΣ ΕΠΕΞΕΡΓΑΣΙΕΣ ΜΟΝΟΔΙΑΣΤΑΤΩΝ ΚΑΙ ΔΙΣΔΙΑΣΤΑΤΩΝ ΠΙΝΑΚΩΝ ΟΙ ΠΙΟ ΣΗΜΑΝΤΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ

ΜΑΘΗΜΑ / ΤΑΞΗ : ΑΕΠΠ / ΘΕΡΙΝΑ ΣΕΙΡΑ: 1 η ΗΜΕΡΟΜΗΝΙΑ: 08 / 02 / 2015 ΕΠΙΜΕΛΕΙΑ ΔΙΑΓΩΝΙΣΜΑΤΟΣ: Ι. ΜΙΧΑΛΕΑΚΟΣ - Α. ΚΑΤΡΑΚΗ - Π. ΣΙΟΤΡΟΠΟΣ ΑΠΑΝΤΗΣΕΙΣ

Μονάδες 8 ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ Γ ΗΜΕΡΗΣΙΩΝ

Γ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ. Ημερομηνία: Πέμπτη 12 Απριλίου 2018 Διάρκεια Εξέτασης: 3 ώρες ΕΚΦΩΝΗΣΕΙΣ

Ψευδοκώδικας. November 7, 2011

Επαναληπτικές Διαδικασίες

5.1. Προσδοκώμενα αποτελέσματα

Transcript:

Αλγόριθμοι Αναζήτησης (AeppAcademy.com)

1. Γιατί τους χρειαζόμαστε Συχνά χρειάζεται να βρίσκουμε ένα συγκεκριμένο στοιχείο δεδομένων ανάμεσα σε λίγα ή πολλά (εκατοντάδες, χιλιάδες, εκατομμύρια ή περισσότερα) άλλα. Για παράδειγμα, μπορεί να χρειαστεί να βρούμε τον τηλεφωνικό αριθμό ενός φίλου στο τηλέφωνο μας, ή τη συγκεκριμένη διεύθυνση κατοικίας του στην Ελλάδα ή στο εξωτερικό. Για αυτό το σκοπό οι αλγόριθμοι αναζήτησης είναι σημαντικοί. Χωρίς αυτούς θα έπρεπε να κοιτάζουμε κάθε στοιχείο δεδομένων τηλεφωνικούς αριθμούς ή διευθύνσεις κατοικίας ξεχωριστά, για να δούμε αν υπάρχει αυτό που ψάχνουμε. Σε ένα μεγάλο σύνολο δεδομένων αυτό θα έπαιρνε πολλή ώρα. Αντίθετα, προτιμούμε να χρησιμοποιήσουμε έναν αλγόριθμο αναζήτησης για να μας βοηθήσει να βρούμε γρήγορα αυτό που ψάχνουμε. Υπάρχουν διάφοροι τύποι αλγορίθμων αναζήτησης. Δύο από αυτούς είναι η σειριακή και η δυαδική αναζήτηση. 2. Πώς λειτουργούν Οι αλγόριθμοι αναζήτησης όπως κάθε αλγόριθμος χρειάζονται κάποιες εισόδους και παράγουν κάποια έξοδο. Είσοδοι: Όνομα Πίνακα (Χώρος Αναζήτησης), Κλειδί Αναζήτησης (ή τιμή στόχος) Έξοδος: Θέση του Κλειδιού Αναζήτησης στον Χώρο Αναζήτησης Χώρος Αναζήτησης: Εκεί που ψάχνουμε. Είναι δομή δεδομένων (στο μάθημα ΑΕΠΠ υλοποιείται με πίνακα), και περιέχει ένα σύνολο δεδομένων. Κλειδί Αναζήτησης: Αυτό που ψάχνουμε. Είναι ένα δεδομένο οποιουδήποτε τύπου (ακέραιος, πραγματικός, χαρακτήρας, λογικός). Θέση Κλειδιού Αναζήτησης: Αν Ν είναι το μέγεθος του Χώρου Αναζήτησης, η θέση του κλειδιού είναι ένας ακέραιος αριθμός στο διάστημα [1, Ν], αν το κλειδί υπάρχει στη δομή δεδομένων, ή το 0 αν το κλειδί δεν υπάρχει στη δομή δεδομένων. 2.1 Σειριακή Αναζήτηση Συγκρίνει κάθε στοιχείο του Χώρου Αναζήτησης με το κλειδί, μέχρι είτε να το βρει είτε να εξεταστούν όλα τα στοιχεία. Πλεονέκτημα: Μπορεί να εφαρμοστεί τόσο σε ταξινομημένους όσο και σε μη-ταξινομημένους πίνακες. Μειονέκτημα: Αργός χρόνος εκτέλεσης, ο οποίος αυξάνεται γραμμικά με το μέγεθος του πίνακα. Γι αυτό λέγεται και Γραμμική Αναζήτηση. 2.2. Δυαδική Αναζήτηση Συγκρίνει μόνο ένα συγκεκριμένο στοιχείο ( το μέσο ) ενός διαρκώς μεταβαλλόμενου Χώρου Αναζήτησης με το κλειδί, μέχρι είτε να το βρει είτε να μηδενιστεί ο Χώρος Αναζήτησης. Σε κάθε προσπάθεια ο Χώρος Αναζήτησης μειώνεται στο μισό. Γι αυτό λέγεται και αναζήτηση ημίσεος διατήματος.

Πλεονέκτημα: Πολύ γρήγορος χρόνος εκτέλεσης, αφού οι συγκρίσεις που απαιτούνται δεν αυξάνονται γραμμικά με το μέγεθος του πίνακα. Μειονέκτημα: Μπορεί να εφαρμοστεί μόνο σε ταξινομημένους πίνακες. 3. Αλγόριθμοι Στα παραδείγματα που ακολουθούν αναζητούμε το στοιχείο με όνομα κλειδί σε πίνακα ακεραίων Α[Ν], με. Το μέγεθος και ο τύπος των δεδομένων του πίνακα μπορούν να αλλάζουν χωρίς βλάβη της γενικότητας. 3.1 Σειριακή Αναζήτηση Το ίδιο κλειδί μπορεί να υπάρχει σε περισσότερες θέσεις του χώρου αναζήτησης. Ανάλογα με την άσκηση μπορεί να ψάχνουμε την πρώτη ή την τελευταία θέση εμφάνισης του. 3.1.1 Πρώτη Θέση Εμφάνισης Συνάρτηση ΣειριακήΑναζήτηση(A, κλειδί): Ακέραια Ακέραιες: Α[Ν], κλειδί, i, θέση Λογικές: βρέθηκε βρέθηκε Ψευδής i 1 Όσο i <= N Και Όχι ( βρέθηκε ) Επανάλαβε Αν Α[i] = κλειδί Τότε βρέθηκε Αληθής i i + 1 3.1.2 Τελευταία Θέση Εμφάνισης Συνάρτηση ΣειριακήΑναζήτηση(A, κλειδί): Ακέραια Ακέραιες: Α[Ν], κλειδί, i, θέση Για i Από 1 Μέχρι N

Αν Α[i] = κλειδί Τότε 3.1.3 Σειριακή Αναζήτηση σε Ταξινομημένο Πίνακα Μπορούμε να εκμεταλλευτούμε την ιδιότητα του Α ότι είναι ταξινομημένος και να σταματήσουμε την αναζήτηση νωρίτερα, βελτιώνοντας τον αλγόριθμο. Στην παρακάτω υλοποίηση υποτίθεται αύξουσα ταξινόμηση στον Α. Συνάρτηση ΣειριακήΑναζήτηση(A, κλειδί): Ακέραια Ακέραιες: Α[Ν], κλειδί, i, θέση Λογικές: flag i 1 flag Ψευδής Όσο Όχι flag Και i <= N Επανάλαβε Αν Α[i] = κλειδί Τότε _Αν Α[i] > κλειδί Τότε flag Αληθής i i + 1 3.2 Δυαδική Αναζήτηση Σε αντίθεση με την σειριακή αναζήτηση, η δυαδική αναζήτηση στην γενική της μορφή ΔΕΝ μπορεί να εγγυηθεί ότι η θέση του κλειδιού που επιστρέφει είναι η θέση κάποιας συγκεκριμένης (πρώτης ή τελευταίας) εμφάνισης. Αν χρειαστεί να βρούμε την πρώτη ή την τελευταία θέση του κλειδιού, χρησιμοποιούμε την υλοποίηση 3.2.2 και 3.2.3 αντίστοιχα.

3.2.1 Γενική Μορφή Συνάρτηση ΔυαδικήΑναζήτηση(Α, κλειδί): Ακέραια Λογικές: βρέθηκε κάτωόριο 1 άνωόριο Ν βρέθηκε Ψευδής _Επανάληψης _Αν κλειδί > Α[μέσο] Τότε βρέθηκε Αληθής Μέχρις_Ότου κάτωόριο > άνωόριο Ή βρέθηκε = Αληθής 3.2.2 Πρώτη Θέση Εμφάνισης Συνάρτηση ΔυαδικήΑναζήτηση(Α, κλειδί): Ακέραια κάτωόριο 1 άνωόριο Ν _Επανάληψης _Αν κλειδί > Α[μέσο] Τότε άνωόριο μέσο 1! συνέχισε την αναζήτηση αριστερά Μέχρις_Ότου κάτωόριο > άνωόριο

3.2.2 Τελευταία Θέση Εμφάνισης Συνάρτηση ΔυαδικήΑναζήτηση(Α, κλειδί): Ακέραια κάτωόριο 1 άνωόριο Ν _Επανάληψης _Αν κλειδί > Α[μέσο] Τότε! συνέχισε την αναζήτηση δεξιά Μέχρις_Ότου κάτωόριο > άνωόριο 4. Αναζήτηση σε Μέρος του Χώρου Αναζήτησης Σε κάποιες περιπτώσεις μπορεί να χρειαστεί να γίνει η αναζήτηση του κλειδιού σε μέρος μόνο του χώρου αναζήτησης. Σε αυτή την περίπτωση, θα γίνει προσθήκη δύο επιπλέον μεταβλητών εισόδου, που οριοθετούν (αρχή και τέλος) την επιθυμητή περιοχή αναζήτησης. Είσοδοι: Όνομα Πίνακα, κάτω Όριο, άνω Όριο, Κλειδί Αναζήτησης (ή τιμή στόχος) Έξοδος: Θέση του Κλειδιού Αναζήτησης 4. 1 Σειριακή Αναζήτηση Συνάρτηση ΣειριακήΑναζήτηση(A, κάτωόριο, άνωόριο, κλειδί): Ακέραια Ακέραιες: Α[Ν], κάτωόριο, άνωόριο, κλειδί, i, θέση Για i Από κάτωόριο Μέχρι άνωόριο Αν Α[i] = κλειδί Τότε

4.2 Δυαδική Αναζήτηση Συνάρτηση ΔυαδικήΑναζήτηση(Α, κάτωόριο, άνωόριο, κλειδί): Ακέραια Λογικές: βρέθηκε βρέθηκε Ψευδής _Επανάληψης _Αν κλειδί > Α[μέσο] Τότε βρέθηκε Αληθής Μέχρις_Ότου κάτωόριο > άνωόριο Ή βρέθηκε = Αληθής 5. Συμπέρασμα Πρέπει να γνωρίζετε τις διαφορετικές υλοποιήσεις των αλγορίθμων αναζήτησης και να χρησιμοποιείτε εκείνη που ταιριάζει στην κάθε άσκηση. Θυμηθείτε ιδιαίτερα ότι: 1. σε ταξινομημένο πίνακα μπορούμε να χρησιμοποιούμε τόσο τη σειριακή όσο και την δυαδική αναζήτηση. 2. στην περίπτωση που το κλειδί αναζήτησης υπάρχει σε περισσότερες θέσεις στον πίνακα που το αναζητούμε, η απλή υλοποίηση της δυαδικής αναζήτησης δεν εγγυάται ότι η θέση που επιστρέφει είναι η πρώτη ή η τελευταία. Καλή Επιτυχία!