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

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
3.4 Στοίβα (stack) (μόνο θεωρία)
Advertisements

Παράδειγμα 1:Ταξινόμηση Φυσαλίδας
Λίστες παράλειψης (skip lists) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A
ΣΤΟΙΧΕΙΑ ΨΕΥΔΟΚΩΔΙΚΑ ΒΑΣΙΚΕΣ ΔΟΜΕΣ ΒΑΣΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΠΙΝΑΚΩΝ
Γεωργαλλίδης Δημήτρης Καθηγητής Πληροφορικής
Ανακτηση Πληροφοριασ σε νεφη Υπολογιστων
ΔΙΔΑΚΤΙΚΕΣ ΔΥΣΚΟΛΙΕΣ ΣΤΟΥΣ ΠΙΝΑΚΕΣ ΠΕΚ ΠΕΙΡΑΙΑ Α΄φάση Επιμόρφωσης Εκπ/κών κλάδου ΠΕ19 Διδακτική της Πληροφορικής Ρόδος, Νοέμβρης 2007.
ΕΠΛ231 – Δομές Δεδομένων και Αλγόριθμοι
Εισαγωγή στην επιστήμη των υπολογιστών
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ
Επιμέλεια Π. Τσάκωνας. 1. Ποια από τα ακόλουθα αποσπάσματα αλγόριθμων πραγματοποιούν σωστά την ταξινόμηση του πίνακα Α; ΓΙΑ i ΑΠΟ 2 ΜΕΧΡΙ Ν ΓΙΑ j ΑΠΟ.
TEMPLATES STANDARD TEMPLATE LIBRARY ΟΝΤΟΚΕΝΤΡΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ C Evangelos Theodoridis.
Παράδειγμα 2: Υπολογισμός μέγιστου μισθού Σε μια εταιρία εργάζονται 200 υπάλληλοι και είναι γνωστός ο μισθός του καθενός. Να χρησιμοποιηθεί η δομή του.
Αναγνώριση Προτύπων.
Αλγόριθμοι Ταξινόμησης
Προγραμματισμός PASCAL Πληροφορική Γ' Λυκείου μέρος α
ΗΥ150 – Προγραμματισμός Ξενοφών Ζαμπούλης ΗΥ-150 Προγραμματισμός Ταξινόμηση και Αναζήτηση.
Τεχνικές Κατακερματισμού
Διαίρει-και-Βασίλευε
A Balanced Tree Structure for Peer-to-Peer Networks
Σχεδίαση Αλγορίθμων - Τμήμα Πληροφορικής ΑΠΘ - Εξάμηνο 4ο1 Ωμή Βία Είναι μία άμεση προσέγγιση που βασίζεται στην εκφώνηση του προβλήματος και τους ορισμούς.
Δυναμικη Δεσμευση Μνημης Συνδεδεμενες Λιστες (dynamic memory allocation, linked lists) Πως υλοποιουμαι προγραμματα που δεν γνωριζουμε πριν την εκτελεση.
Γιάννης Σταματίου Αναδρομή και αναδρομικές σχέσεις
Ταξινόμηση και Αναζήτηση
Chord: A Scalable Peer -to-peer Lookup Service for Internet Applications Authors: Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan.
Χωρικοί-χρονικοί συμβιβασμοί
Δομή επανάληψης Η δομή επανάληψης είναι μια ολοκληρωμένη πρόταση η οποία περικλείει μια συνθήκη και μια ομάδα εντολών, οι οποίες εκτελούνται, όσο ικανοποιείται.
AlphaSort: A Cache-Sensitive Parallel External Sort Chris Nyberg, Tom Barclay, Zarka Cvetanovic, Jim Gray and David Lomet.
Διαφάνειες παρουσίασης Πίνακες (συνέχεια) Αριθμητικοί υπολογισμοί Αναδρομή.
Bin Packing Problem
Λεξικό, Union – Find Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο.
Advanced Data Indexing (Προηγμένη ευρετηρίαση δεδομένων) Κατακερματισμός – Hashing (1 ο Μέρος)
Αλγόριθμοι - Τμήμα Πληροφορικής ΑΠΘ - 4ο εξάμηνο1 Ανάλυση Αλγορίθμων b Θέματα: Ορθότητα Χρονική αποδοτικότητα Χωρική αποδοτικότητα Βελτιστότητα b Προσεγγίσεις:
Μπορείς να πεις ποιος είναι ο διάσημος πίνακας ζωγραφικής ?
ΑΕΠΠ 3ο Κεφάλαιο Γεωργαλλίδης Δημήτρης Καθηγητής Πληροφορικής 1 Ο Λύκειο Ρόδου.
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ §3.7 ΤΑΞΙΝΟΜΗΣΗ
Παραδείγματα Προγραμματισμού Αναζήτηση του μεγίστου σε ένα πίνακα αριθμών χωρίς πρόσημο που βρίσκεται τοποθετημένος στη μνήμη από τη θέση TAB και μετά,
Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές TSP, Μέτρα κεντρικότητας, Dijkstra Data Engineering Lab.
ΛΟΓ102: Τεχνολογία Λογισμικού Ι Διδάσκων: Νίκος Παπασπύρου 1Νίκος ΠαπασπύρουΛΟΓ102:
Κεφάλαιο 3ο Δομές Δεδομένων.
Πλωτάρχης (Μ) Α. Ρημικής Π.Ν. Πλωτάρχης (Ο) Χ. Αθανασούλας Π.Ν Ανθυποπλοίαρχος (Ε) Δ. Βερύκοκος Π.Ν.
Συλλογή δεδομένων Μια κύρια πρωτογενής πηγή συλλογής στοιχείων είναι η διενέργεια πληθυσμιακών ερευνών Μια κύρια πρωτογενής πηγή συλλογής στοιχείων είναι.
Αναζήτηση σε πίνακα Αναζήτηση σε πίνακα που περιέχει ακέραιους αριθμούς.
Δομές Δεδομένων 13η Διάλεξη Πίνακες Συμβόλων Ε. Μαρκάκης.
Σχεδιασμός ενεργειών. Προβλήματα σχεδιασμού ενεργειών Στα προβλήματα σχεδιασμού ενεργειών δίδονται –Η αρχική κατάσταση του κόσμου –Η επιθυμητή τελική.
ΔΥΑΔΙΚΗ ΑΝΑΖΗΤΗΣΗ & ΤΑΞΙΝΟΜΗΣΗ ΜΕ ΣΥΓΧΩΝΕΥΣΗ. Δυαδική αναζήτηση (Binary search) ΔΕΔΟΜΕΝΟ: ένα μεγάλο αρχείο που περιέχει τιμές z [0,1,…,n-1] ταξινομημένες.
Πάνος Χριστόπουλος. ΚΑΤΑΝΟΜΗ ΚΑΤΑΓΜΑΤΩΝ ΕΙΔΗ ΚΑΤΑΓΜΑΤΩΝ πλήρες – ρωγμώδες – δίκην χλωρού ξύλου πλήρες – ρωγμώδες – δίκην χλωρού ξύλου απλό – διπλό –
Επιμόρφωση Εκπαιδευτικών Μέσης Εκπαίδευσης για τα Νέα Αναλυτικά Προγράμματα Πληροφορικής και Επιστήμης Η/Υ Προγραμματισμός Έτους και Ενότητας (Γ’ Γυμνασίου)
Διδάσκων: Δρ. Τσίντζα Παναγιώτα
Ο ΡΟΛΟΣ ΤΗΣ ΓΥΝΑΙΚΑΣ ΣΤΗΝ ΑΡΧΑΙΟΤΗΤΑ ΜΕΧΡΙ ΣΗΜΕΡΑ..
Ειδικά Θέματα στον Προγραμματισμό Υπολογιστών
Ανάπτυξη εφαρμογής με οπτικοποιημένο περιβάλλον για τους αλγόριθμους ταξινόμησης και αναζήτησης ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ Γεωργιαδης νικολαοσ.
Αν συνθήκη_ισχύει τότε εντολές Τέλος_Αν
Μονοδιάστατοι πίνακες
Σειριακή ή Γραμμική Αναζήτηση 1.Μοναδικό Κλειδί (key)
«Ανάπτυξη εφαρμογής για τη διαχείριση μεθόδων αναζήτησης σε οπτικοποιημένο περιβάλλον»  Μπλάγας Χρήστος.
Η τακτοποίηση των κόμβων μίας δομής με μία ιδιαίτερη σειρά είναι μία πολύ σημαντική λειτουργία που ονομάζεται ταξινόμηση (sorting) ή διάταξη (ordering).
Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον ΑΕΠΠ
Φοιτητής: Τσακίρης Αλέξανδρος Επιβλέπων: Ευάγγελος Ούτσιος
Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον ΑΕΠΠ
Aλγόριθμος BFS Θέτουμε i  0. Στην κορυφή x θέτουμε τη ετικέτα i.
Το Εικονογραφημένο Βιβλίο στην Προσχολική Εκπαίδευση
Πολυπλοκότητα Αλγορίθμων
ΤΕΙ Αθήνας Βιοστατιστική (Θ)
Γ6.4 Μορφοποίηση Πινάκων και Πρωτεύον Κλειδί
Διδασκαλία με Χρήση των ΤΠΕ του Νόμου Προσφοράς
Οι ιστοσελίδες ως πηγές πληροφόρησης και η αξιοπιστία τους
Ενότητα A5.1.2γ (Αποθήκευση Αρχείων από το Διαδίκτυο )
ΠΙΝΑΚΕΣ Δομή ΟΥΡΑΣ (queue)
Μεταγράφημα παρουσίασης:

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