Διδάσκων: Δρ. Τσίντζα Παναγιώτα

Slides:



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

Δένδρα van Emde Boas TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Μελετάμε την περίπτωση όπου αποθηκεύουμε.
Παράδειγμα 1:Σειριακή αναζήτηση
Αλγόριθμοι «διαίρει και βασίλευε»
ΣΤΟΙΧΕΙΑ ΨΕΥΔΟΚΩΔΙΚΑ ΒΑΣΙΚΕΣ ΔΟΜΕΣ ΒΑΣΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΠΙΝΑΚΩΝ
Ανακτηση Πληροφοριασ σε νεφη Υπολογιστων
Επίπεδα Γραφήματα : Προβλήματα και Υπολογιστική Πολυπλοκότητα TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA.
Πολυπλοκότητα Παράμετροι της αποδοτικότητας ενός αλγόριθμου:
Εισαγωγή στην επιστήμη των υπολογιστών
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ
Βάσεις Δεδομένων Ευαγγελία Πιτουρά1 Δυναμικός Κατακερματισμός.
 Αυδίκου Χριστίνα  Γιουμούκης Παναγιώτης  Κιντσάκης Θάνος  Πάπιστας Γιάννης.
Γιάννης Σταματίου Μη αποδοτική αναδρομή και η δυναμική προσέγγιση Webcast 8.
Ο Αλγόριθμος FP-Growth. Αλγόριθμος FP-Growth Ο αλγόριθμος χρησιμοποιεί μια συμπιεσμένη αναπαράσταση της βάσης των συναλλαγών με τη μορφή ενός FP-δέντρου.
Μια Μπεϋζιανή Μέθοδος για την Επαγωγή Πιθανοτικών Δικτύων από Δεδομένα ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΤΜΗΜΑ ΜΗΧ/ΚΩΝ Η/Υ & ΠΛΗΡΟΦΟΡΙΚΗΣ B. Μεγαλοοικονόμου, Χ. Μακρής.
Αλγόριθμοι και Πολυπλοκότητα
Εισαγωγικές Έννοιες Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο.
ΗΥ150 – Προγραμματισμός Ξενοφών Ζαμπούλης ΗΥ-150 Προγραμματισμός Ταξινόμηση και Αναζήτηση.
Ενότητα Η Δομή Επανάληψης
Διαίρει-και-Βασίλευε
Δυναμικός Προγραμματισμός
Προσεγγιστικοί Αλγόριθμοι
ΤΕΛΕΣΤΕΣ II ΜΑΘΗΜΑ 5.
ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Κυριακή, 11 Ιανουαρίου 2015Κυριακή, 11 Ιανουαρίου 2015Κυριακή, 11 Ιανουαρίου 2015Κυριακή, 11 Ιανουαρίου.
ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου.
ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ 2: ΘΕΜΑΤΑ ΘΕΩΡΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ Η/Υ
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ
Αλγόριθμοι - Τμήμα Πληροφορικής ΑΠΘ - Εξάμηνο 4ο
Ταξινόμηση και Αναζήτηση
Διδακτική της Πληροφορικής ΗΥ302 Εργασία :Παρουσίαση σχολικού βιβλίου Γ’ Λυκείου Τεχνολογικής Κατεύθυνσης «Ανάπτυξη εφαρμογών σε προγραμματιστικό περιβάλλον»
ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Παρασκευή, 3 Απριλίου 2015Παρασκευή, 3 Απριλίου 2015Παρασκευή, 3 Απριλίου 2015Παρασκευή, 3 Απριλίου 2015Τμ.
ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ 2: ΘΕΜΑΤΑ ΘΕΩΡΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ Η/Υ
Λεξικό, Union – Find Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο.
Advanced Data Indexing (Προηγμένη ευρετηρίαση δεδομένων) Κατακερματισμός – Hashing (1 ο Μέρος)
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Εισαγωγή στην Επεξεργασία Ερωτήσεων.
Αλγόριθμοι - Τμήμα Πληροφορικής ΑΠΘ - 4ο εξάμηνο1 Ανάλυση Αλγορίθμων b Θέματα: Ορθότητα Χρονική αποδοτικότητα Χωρική αποδοτικότητα Βελτιστότητα b Προσεγγίσεις:
Διπλωματική Εργασία Πειραματική Αξιολόγηση της Μοναδιαίας Οκνηρής Συνέπειας Τόξου (Singleton Lazy Arc Consistency) Ιωαννίδης Γιώργος (ΑΕΜ: 491)
ΕΠΛ 231 – Δομές Δεδομένων και Αλγόριθμοι
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ §3.7 ΤΑΞΙΝΟΜΗΣΗ
Ασυμπτωτικός Συμβολισμός
ΔιαΙρεςη και κυριαρχια
Δομές Δεδομένων 1 Θέματα Απόδοσης. Δομές Δεδομένων 2 Οργανώνοντας τα Δεδομένα  Η επιλογή της δομής δεδομένων και του αλγορίθμου επηρεάζουν το χρόνο εκτέλεσης.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Επεξεργασία Ερωτήσεων.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Ευρετήρια.
Ενότητα 2.1 Αλγόριθμοι Ταξινόμησης O(n 2 ) & O(nlogn) Σχεδίαση & Ανάλυση Αλγορίθμων.
8-1 ΜΑΘΗΜΑ 8 ο Εισαγωγή στους Αλγόριθμους Ταξινόμησης.
Συνδετικότητα γραφήματος (graph connectivity). α β Υπάρχει μονοπάτι μεταξύ α και β; Παραδείγματα: υπολογιστές ενός δικτύου ιστοσελίδες ισοδύναμες μεταβλητές.
ΤΕΙ ΙΟΝΙΩΝ ΝΗΣΩΝ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ ΠΑΡΆΡΤΗΜΑ ΛΕΥΚΑΔΑΣ ΥΠΕΥΘΥΝΗ ΚΑΘΗΓΉΤΡΙΑ Δρ. ΤΣΙΝΤΖΑ ΠΑΝΑΓΙΩΤΑ Οι παρουσιάσεις του μαθήματος βασίζονται στο.
ΤΕΙ ΙΟΝΙΩΝ ΝΗΣΩΝ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ ΠΑΡΆΡΤΗΜΑ ΛΕΥΚΑΔΑΣ ΥΠΕΥΘΥΝΗ ΚΑΘΗΓΉΤΡΙΑ Δρ. ΤΣΙΝΤΖΑ ΠΑΝΑΓΙΩΤΑ Οι παρουσιάσεις του μαθήματος βασίζονται στο.
Για μτ από ατ μέχρι ττ [με_βήμα β] εντολές Τέλος_επανάληψης : περιοχή εντολών μτ : η μεταβλητή της οποίας η τιμή θα περάσει από την αρχική.
Αναζήτηση σε πίνακα Αναζήτηση σε πίνακα που περιέχει ακέραιους αριθμούς.
ΔΥΑΔΙΚΗ ΑΝΑΖΗΤΗΣΗ & ΤΑΞΙΝΟΜΗΣΗ ΜΕ ΣΥΓΧΩΝΕΥΣΗ. Δυαδική αναζήτηση (Binary search) ΔΕΔΟΜΕΝΟ: ένα μεγάλο αρχείο που περιέχει τιμές z [0,1,…,n-1] ταξινομημένες.
Ευρετήρια Βάσεις Δεδομένων Ευαγγελία Πιτουρά.
Δυναμικός Κατακερματισμός
ΑΛΓΟΡΙΘΜΟΣ ΠΡΟΒΛΗΜΑ ΑΛΓΟΡΙΘΜΟΣ ΛΥΣΗ
Διδάσκων: Δρ. Τσίντζα Παναγιώτα
Αρχεσ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Η/Υ ΤΑξη Β΄
ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ «ΓΙΑ» Για μτ από ατ μέχρι ττ [με_βήμα β] εντολές Τέλος_επανάληψης : περιοχή εντολών μτ : η μεταβλητή της.
Κανονικοπηση(normalization)
ΠΟΛΛΑΠΛΑΣΙΑΣΜΟΣ (συνέχεια)
Σειριακή ή Γραμμική Αναζήτηση 1.Μοναδικό Κλειδί (key)
«Ανάπτυξη εφαρμογής για τη διαχείριση μεθόδων αναζήτησης σε οπτικοποιημένο περιβάλλον»  Μπλάγας Χρήστος.
Η τακτοποίηση των κόμβων μίας δομής με μία ιδιαίτερη σειρά είναι μία πολύ σημαντική λειτουργία που ονομάζεται ταξινόμηση (sorting) ή διάταξη (ordering).
Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον ΑΕΠΠ
Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον ΑΕΠΠ
Φοιτητής: Τσακίρης Αλέξανδρος Επιβλέπων: Ευάγγελος Ούτσιος
Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον ΑΕΠΠ
Φοιτητής: Γκούλης Ευάγγελος ΑΕΜ: 3342
Εξωτερική Αναζήτηση Ιεραρχία Μνήμης Υπολογιστή Εξωτερική Μνήμη
Δυναμικός Κατακερματισμός
Μεταγράφημα παρουσίασης:

Διδάσκων: Δρ. Τσίντζα Παναγιώτα ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ Διδάσκων: Δρ. Τσίντζα Παναγιώτα

ΑΝΑΖΗΤΗΣΗ

Το πρόβλημα της αναζήτησης Εύρεση ενός στοιχείου από ένα σύνολο στοιχείων. 2 βασικές κατηγορίες μεθόδων αναζήτησης ανάλογα με το Αν το σύνολο αυτό των στοιχείων είναι αποθηκευμένο στην κύρια μνήμη ή Αν το σύνολο αυτό των στοιχείων είναι αποθηκευμένο στην δευτερεύουσα μνήμη

Μέθοδοι αναζήτησης στην κύρια μνήμη Στην κατηγορία μεθόδων αναζήτησης στην κύρια μνήμη  αναζήτηση είτε ενός στοιχείου σε πίνακα ή σε ουρά ή σε στοίβα είτε ενός κόμβου σε λίστα ή δένδρο. Μέθοδοι εύκολοι τόσο στην ανάπτυξη όσο και στην υλοποίηση τους.

Μέθοδοι αναζήτησης στην δευτερεύουσα μνήμη Λαμβάνεται υπόψη ο τρόπος αποθήκευσης των στοιχείων. Τα στοιχεία είναι αποθηκευμένα ως ένα σύνολο εγγραφών που η κάθε μία έχει ένα σύνολο πεδίων. Το σύνολο των εγγραφών αποτελούν τα αρχεία δεδομένων. Σε κάθε εγγραφή κάποιο από τα πεδία αποτελεί το πρωτεύον κλειδί (primary key)  ορίζει μονοσήμαντα (με μοναδικό τρόπο) την εγγραφή. Έτσι η αναζήτηση ενός στοιχείου ( μιας εγγραφής) γίνεται με αναζήτηση του πρωτεύοντος κλειδιού.  Όταν το κλειδί βρεθεί επιστρέφεται το σύνολο των πεδίων της εγγραφής.

Αναζήτηση Γραμμική αναζήτηση (sequential search) Αναζήτηση κατά ομάδες (Block search) Δυαδική αναζήτηση (Binary search) Αναζήτηση παρεμβολής (interpolation search) Θα χρησιμοποιηθεί η δομή πίνακα για την αναζήτηση

Γραμμική Αναζήτηση

Βασική ιδέα του αλγόριθμου γραμμικής αναζήτησης Είσοδος: ένας πίνακα ο οποίος περιέχει n στοιχεία ταξινομημένα ή μη. Έξοδος: η αναζήτηση μιας τιμής x μέσα στον πίνακα. Αν η τιμή αυτή βρεθεί, επιστρέφεται η θέση της τιμής στον πίνακα αλλιώς επιστρέφεται η τιμή 0. Μέθοδος: διατρέχει όλα τα στοιχεία του πίνακα συγκρίνοντας τα με την τιμή που αναζητείται

Ψευδικώδικας γραμμικής αναζήτησης Αλγόριθμος Παρ_1 Είσοδος (Πίνακας, n, x) // ο πίνακας, το μέγεθος του, το στοιχείο που ψάχνουμε Βρέθηκε  ψευδής // λογική μεταβλητή (έξοδος αλγόριθμου) Θέση  0 // μεταβλητή θέσης στοιχείου στο πίνακα (έξοδος αλγόριθμου) Μετρητής 1 Διαπέρασε τον Πίνακα για Όσο (Βρέθηκε = ψευδής) και (Μετρητής <= n) Αν Πίνακας[Μετρητής] = x τότε Βρέθηκε  αληθής Θέση  Μετρητής Αλλιώς Μετρητής  Μετρητής + 1 Τέλος Αν Τέλος Επανάληψης Αποτελέσματα (Βρέθηκε, Θέση) Τέλος Παρ_1

Πλεονεκτήματα vs Μειονεκτήματα Πλεονέκτημα: απλός και άμεσος τρόπος αναζήτησης Μειονέκτημα: η απόδοση της μεθόδου αυτή είναι από τις χειρότερες ο χρόνος της χειρότερης περίπτωσης υπολογίζεται όταν δεν υπάρχει το στοιχείο που αναζητούμε στην δομή μας (ή είναι το τελευταίο που εξετάζεται). η γραμμική μέθοδος θα απαιτήσει n συγκρίσεις αν τα στοιχεία είναι αταξινόμητα ή n/2 αν είναι ταξινομημένα. Στην γενική περίπτωση, ο μέσος αριθμός συγκρίσεων είναι n/2.

Αναζήτηση κατά ομάδες (Block search)

Βασική ιδέα του αλγόριθμου Αναζήτησης κατά ομάδες Παραλλαγή της γραμμικής αναζήτησης Στοιχεία τα οποία είναι ταξινομημένα (θα θεωρήσουμε αύξουσα ταξινόμηση) Τα στοιχεία χωρίζονται σε ομάδες. Κάθε μία ομάδα έχει ένα βασικό στοιχείο που είναι το πρώτο αυτής. Ο αλγόριθμος της αναζήτησης κατά ομάδες συγκρίνει το στοιχείο που ψάχνουμε με κάθε ένα από τα πρώτα στοιχεία κάθε ομάδας. Συγκρίνεται με το πρώτο στοιχείο της πρώτης ομάδας. Αν είναι μικρότερο αυτού τότε δεν υπάρχει στην δομή. Στην αντίθετη περίπτωση συγκρίνεται με το πρώτο στοιχείο της δεύτερης ομάδας. Αν είναι μικρότερο αυτού τότε αν υπάρχει πρέπει να βρίσκεται ανάμεσα στα στοιχεία της πρώτης ομάδας. Στην αντίθετη περίπτωση συγκρίνεται με το πρώτο στοιχείο της τρίτης ομάδας κ.ο.κ.

Πολυπλοκότητα Έστω πίνακας n στοιχείων χωρισμένα σε m ομάδες. Στην γενική περίπτωση, ο μέσος αριθμός συγκρίσεων είναι n/(2m) + m/2. H απόδοση του αλγορίθμου εξαρτάται τόσο από το πλήθος των ομάδων αλλά και του αριθμού των στοιχείων που περιέχει κάθε μία από αυτές. Ο αλγόριθμος είναι βέλτιστος όταν κάθε μία ομάδα περιέχει στοιχεία √n

Δυαδική αναζήτηση (Binary search)

Βασική ιδέα του αλγόριθμου Δυαδικής Αναζήτησης Χρησιμοποιεί την τεχνική “Διαίρει και Βασίλευε” βασίζεται στην λογική της κατάτμησης του προβλήματος σε μικρότερα ομοειδή προβλήματα έτσι ώστε ο συνδυασμός των μερικών λύσεων να δώσει την συνολική λύση του προβλήματος Η τεχνική Διαίρει και Βασίλευε βασίζεται σε 3 βήματα Διαίρει (divide) : το αρχικό πρόβλημα διαιρείται σε συγκεκριμένο πλήθος ομοειδών υποπροβλημάτων ή αλλιώς στιγμιότυπων. Βασίλευε (conquer) : κάθε στιγμιότυπο του προβλήματος επιλύεται ανεξάρτητα και με αναδρομικό τρόπο. Συνδύασε (combine) : όλες οι λύσεις από κάθε στιγμιότυπο συνδυάζονται εντός πολυωνυμικού χρόνου για την επίλυση του συνολικού προβλήματος.

Τα βήματα Ο αλγόριθμος εφαρμόζεται σε ένα πίνακα με ταξινομημένα στοιχεία. Συγκρίνεται το στοιχείο αναζήτησης με το μεσαίο στοιχείο του πίνακα. Αν είναι το ίδιο ο αλγόριθμος ολοκληρώνεται. Αν είναι το στοιχείο του πίνακα μικρότερο του στοιχείου αναζήτησης τότε ο αλγόριθμος συνεχίζεται στο δεύτερο μισό του πίνακα ενώ Αν είναι μεγαλύτερο τότε ο αλγόριθμος συνεχίζεται στο πρώτο μισό του πίνακα. Η τεχνική Διαίρε και Βασίλευε εφαρμόζεται αναδρομικά χωρίζοντας τον πίνακα στη μέση σε δύο στιγμιότυπα και εφαρμόζοντας τον αλγόριθμο σε κάθε ένα από αυτά.

Πολυπλοκότητα Έστω ότι η δομή περιέχει n στοιχεία ο χρόνος της χειρότερης περίπτωσης υπολογίζεται όταν δεν υπάρχει το στοιχείο που αναζητούμε στην δομή μας (ή είναι το τελευταίο που εξετάζεται). Στην περίπτωση αυτή η δυαδική μέθοδος θα απαιτήσει logn+1 συγκρίσεις, άρα O(logn).

Αναζήτηση παρεμβολής (interpolation search)

Βασική ιδέα του αλγόριθμου Αναζήτησης παρεμβολής Βασίζεται στην δυαδική αναζήτηση  εφαρμόζεται σε ταξινομημένα στοιχεία. Λαμβάνει υπόψη της την κατανομή των στοιχείων. Ακολουθεί τον τρόπο που ένας άνθρωπος ψάχνει σε ένα λεξικό. Ο άνθρωπος δεν πάει κατευθείαν στο μέσο έστω n του λεξικού συγκρίνει, μετά στο n/2 ή 3n/4 αντίστοιχα κ.ο.κ. όπως συμβαίνει στην δυαδική αναζήτηση αλλά: Ανοίγει το λεξικό αρχικά ανάλογα με το γράμμα που τον ενδιαφέρει. Αν το B πηγαίνει στην αρχή κ.οκ. Στη συνέχεια κινείται κατά ομάδες ανάλογα αν η λέξη είναι μεγαλύτερη ή μικρότερη παραλείποντας σελίδες. Επομένως ο αλγόριθμος λαμβάνει υπόψη το περιεχόμενο του πίνακα σε σύγκριση με το στοιχείο αναζήτησης, προκειμένου να καθορίσει το σημείο αναζήτησης.

(x-S[left]) / (S[right-S[left]). Ο αλγόριθμος Είσοδος: πίνακα S ο οποίος περιέχει n στοιχεία ταξινομημένα, το μέγεθος το πίνακα, το στοιχείο x που ψάχνουμε. Έξοδος του αλγορίθμου: Αν η τιμή x βρεθεί, επιστρέφεται η θέση της τιμής στον πίνακα αλλιώς επιστρέφεται η τιμή 0. Σε κάθε περίπτωση το σημείο αναζήτησης βρίσκεται από την σχέση : (x-S[left]) / (S[right-S[left]). Έτσι, αρχικά το x αναζητείται στα στοιχεία ανάμεσα στα S[1] και S[n]. Άρα το σημείο αναζήτησης – σύγκρισης είναι το : (x-S[1]) / (S[n-S[1]).

Πολυπλοκότητα αλγόριθμου Όπως πάντα ο χρόνος της χειρότερης περίπτωσης στην αναζήτηση παρεμβολής υπολογίζεται όταν δεν υπάρχει το στοιχείο που αναζητούμε στην δομή μας (ή είναι το τελευταίο που εξετάζεται). Στην χειρότερη περίπτωση θα απαιτήσει O(n) συγκρίσεις. Στην γενική περίπτωση, ο μέσος χρόνος είναι : O(loglogn). Η αναζήτηση παρεμβολής σε σύγκριση με την δυαδική μέθοδο φαίνεται να υπερισχύει. Με βάση πειραματικά αποτελέσματα, αποδεικνύεται όμως ότι είναι προτιμότερο τα πρώτα βήματα να εκτελούνται με αναζήτηση παρεμβολής, έτσι ώστε το διάστημα να μειώνεται δραματικά, και στη συνέχεια να εκτελείται δυική αναζήτηση.