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

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

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

ΣΤΑΤΙΣΤΙΚΗ ΕΠΙΧΕΙΡΗΣΕΩΝ

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

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

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

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

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

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

Αναζήτηση. 1. Σειριακή αναζήτηση 2. Δυαδική Αναζήτηση. Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη

Τίτλος Μαθήματος: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ

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

Αλγόριθμοι και Πολυπλοκότητα Φώτης Ε. Ψωμόπουλος, Περικλής Α. Μήτκας

Υπολογιστικά & Διακριτά Μαθηματικά

Θεωρία Πιθανοτήτων & Στατιστική

ΣΤΑΤΙΣΤΙΚΗ ΕΠΙΧΕΙΡΗΣΕΩΝ

Δομές Δεδομένων. Ενότητα 11: Τεχνικές Κατακερματισμού. Καθηγήτρια Μαρία Σατρατζέμη. Τμήμα Εφαρμοσμένης Πληροφορικής.

Αλγόριθμοι και Δομές Δεδομένων(Θ) Ευάγγελος Γ. Ούτσιος

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ

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

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

Δομές Δεδομένων και Αλγόριθμοι

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

Εφαρμοσμένη Στατιστική

Ποσοτικές Μέθοδοι στη Διοίκηση Επιχειρήσεων ΙΙ Σύνολο- Περιεχόμενο Μαθήματος

Υπολογιστικά & Διακριτά Μαθηματικά

Προγραμματισμός Η/Υ. Αναζήτηση & Ταξινόμηση. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος

Αλγόριθμοι Αναζήτησης

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Συστήματα Αυτομάτου Ελέγχου. Ενότητα Α: Γραμμικά Συστήματα

Τεχνολογία Πολυμέσων. Ενότητα # 7: Θεωρία πληροφορίας Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

Μοντελοποίηση Λογικών Κυκλωμάτων

5. Απλή Ταξινόμηση. ομές εδομένων. Χρήστος ουλκερίδης. Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων

ΜΑΘΗΜΑΤΙΚΑ ΓΙΑ ΟΙΚΟΝΟΜΟΛΟΓΟΥΣ

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

ΘΕΩΡΙΑ ΠΑΙΓΝΙΩΝ. Ενότητα 7: Τέλεια ισορροπία Nash για υποπαίγνια. Ρεφανίδης Ιωάννης Τμήμα Εφαρμοσμένης Πληροφορικής

Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 6: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ: ΠΡΟΒΛΗΜΑ ΑΝΑΖΗΤΗΣΗΣ

3 ΑΝΑ ΡΟΜΗ ΑΝΑΖΗΤΗΣΗ - ΤΑΞΙΝΟΜΗΣΗ. n! = 1*2*3*..(n-1)*n. n! = 1 αν n = 0, = n*(n-1)! αν n > ΑΝΑ ΡΟΜΗ Εισαγωγή

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ

Στατιστική Ι. Ενότητα 2: Στατιστικά Μέτρα Διασποράς Ασυμμετρίας - Κυρτώσεως. Δρ. Γεώργιος Κοντέος Τμήμα Διοίκησης Επιχειρήσεων Γρεβενών

ΜΑΘΗΜΑΤΙΚΑ ΓΙΑ ΟΙΚΟΝΟΜΟΛΟΓΟΥΣ

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

Εφαρμοσμένη Βελτιστοποίηση

ΣΤΑΤΙΣΤΙΚΗ ΑΝΑΛΥΣΗ ΜΕ ΧΡΗΣΗ Η/Υ

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

Περιεχόμενα ΜΤ Τυχαίας Προσπέλασης Θεωρία Υπολογισμού Ενότητα 23: Μηχανές Turing Τυχαίας Προσπέλασης Επ. Καθ. Π. Κατσαρός Τμήμα Πληροφορικής Επ. Καθ.

ΣΤΑΤΙΣΤΙΚΗ ΕΠΙΧΕΙΡΗΣΕΩΝ

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

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

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Πληροφορική II. Ενότητα 2 : Αλγόριθμοι. Δρ. Γκόγκος Χρήστος

Οικονομετρία. Πολλαπλή Παλινδρόμηση. Στατιστικός έλεγχος γραμμικού συνδυασμού συντελεστών. Τμήμα: Αγροτικής Οικονομίας & Ανάπτυξης

ΔΙΑΣΤΗΜΑΤΑ ΕΜΠΙΣΤΟΣΥΝΗΣ

Οικονομετρία. Ψευδομεταβλητές Μία ψευδομεταβλητή που επιδρά στην σταθερά της συνάρτησης. Τμήμα: Αγροτικής Οικονομίας & Ανάπτυξης

ΒΟΗΘΗΤΙΚΕΣ ΣΗΜΕΙΩΣΕΙΣ

Δομημένος Προγραμματισμός (ΤΛ1006)

ΣΤΑΤΙΣΤΙΚΗ ΕΠΙΧΕΙΡΗΣΕΩΝ

Ανάκτηση Πληροφορίας

ΣΤΑΤΙΣΤΙΚΗ ΑΝΑΛΥΣΗ ΜΕ ΧΡΗΣΗ Η/Υ

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Επιλογή. ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Δομές Δεδομένων. Ενότητα 13: B-Δέντρα/AVL-Δέντρα. Καθηγήτρια Μαρία Σατρατζέμη. Τμήμα Εφαρμοσμένης Πληροφορικής. Δομές Δεδομένων

Αναγνώριση Προτύπων Ι

Δομημένος Προγραμματισμός

Στατιστική Ι. Ενότητα 3: Πιθανότητες. Δρ. Γεώργιος Κοντέος Τμήμα Διοίκησης Επιχειρήσεων Γρεβενών

Αλγόριθμοι και Δομές Δεδομένων (Ι) (εισαγωγικές έννοιες)

ΑΡΙΣΤΟΤΕΛΕΙΟ ΑΝΟΙΚΤΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΚΑΔΗΜΑΪΚΑ ΘΕΣΣΑΛΟΝΙΚΗΣ ΜΑΘΗΜΑΤΑ Γενικά Μαθηματικά Ι Ενότητα 11 : Ακολουθίες και Σειρές Λουκάς Βλάχος Τμήμα Φυσικής

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

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

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

ΣΤΑΤΙΣΤΙΚΗ ΙΙ. Ενότητα 2: ΣΤΑΤΙΣΤΙΚΗ ΙΙ (2/4). Επίκ. Καθηγητής Κοντέος Γεώργιος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Θεωρία Πιθανοτήτων & Στατιστική

Μαθηματικά. Ενότητα 6: Ασκήσεις Ορίων Συνάρτησης. Σαριαννίδης Νικόλαος Τμήμα Λογιστικής και Χρηματοοικονομικής

Υπολογιστικά & Διακριτά Μαθηματικά

Στατιστική Ι. Ενότητα 5: Θεωρητικές Κατανομές Πιθανότητας. Δρ. Γεώργιος Κοντέος Τμήμα Διοίκησης Επιχειρήσεων Γρεβενών

Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 9: ΒΑΣΙΚΕΣ ΤΕΧΝΙΚΕΣ ΣΧΕΔΙΑΣΜΟΥ ΚΑΙ ΑΝΑΛΥΣΗΣ ΑΛΓΟΡΙΘΜΩΝ ΕΞΙΣΟΡΡΟΠΗΣΗ, ΔΙΑΙΡΕΙ ΚΑΙ ΒΑΣΙΛΕΥΕ

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

Θεωρία Πιθανοτήτων & Στατιστική

Κεφάλαιο 5 Ανάλυση Αλγορίθμων

Τι είναι αλγόριθμος; Υποπρογράμματα (υποαλγόριθμοι) Βασικές αλγοριθμικές δομές

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

Στατιστική Επιχειρήσεων

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ. Πιθανότητες. Εισαγωγή Διδάσκων: Επίκουρος Καθηγητής Κωνσταντίνος Μπλέκας

Οικονομετρία. Απλή Παλινδρόμηση. Πληθυσμός και δείγμα. H μέθοδος Ελαχίστων Τετραγώνων. Τμήμα: Αγροτικής Οικονομίας & Ανάπτυξης

Μαθηματικά στην Πολιτική Επιστήμη:

Θεωρία Πιθανοτήτων & Στατιστική

ΣΤΑΤΙΣΤΙΚΗ ΕΠΙΧΕΙΡΗΣΕΩΝ

Δομημένος Προγραμματισμός

ΣΤΑΤΙΣΤΙΚΗ ΕΠΙΧΕΙΡΗΣΕΩΝ

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

12 ο ΕΡΓΑΣΤΗΡΙΟ ΣΗΜΑΤΑ & ΣΥΣΤΗΜΑΤΑ

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

Υπολογιστικά Συστήματα

Επιχειρησιακή Έρευνα

Μαθηματικά. Ενότητα 7: Μη Πεπερασμένα Όρια. Σαριαννίδης Νικόλαος Τμήμα Λογιστικής και Χρηματοοικονομικής

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

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

Εισαγωγή στον δομημένο προγραμματισμό

Στατιστική Επιχειρήσεων Ι

Λεξικό, Union Find. ημήτρης Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Εθνικό Μετσόβιο Πολυτεχνείο

Εισαγωγή στους Αλγορίθμους

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ

Transcript:

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Ενότητα 6β: Ταξινόμηση με εισαγωγή και επιλογή Μαρία Σατρατζέμη Τμήμα Εφαρμοσμένης Πληροφορικής

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creatve Commos. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύπου άδειας χρήσης, η άδεια χρήσης αναφέρεται ρητώς. ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Μαρία Σατρατζέμη

Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα στο Πανεπιστήμιο Μακεδονίας» έχει χρηματοδοτήσει μόνο τη αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους. ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Μαρία Σατρατζέμη 3

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

Ταξινόμηση Η ταξινόμηση sortg) τοποθετεί ένα σύνολο κόμβων ή εγγραφών σε μία συγκεκριμένη διάταξη αύξουσα ή φθίνουσα) με βάση την τιμή του πρωτεύοντος) κλειδιού της εγγραφής. Σκοπός της ταξινόμησης είναι στη συνέχεια η διευκόλυνση της αναζήτησης των στοιχείων του αντίστοιχου συνόλου. Για παράδειγμα, είναι γνωστό ότι η αναζήτηση ενός κλειδιού σε μη ταξινομημένο πίνακα με εγγραφές γίνεται σειριακά με συγκρίσεις της τάξης Θ), ενώ σε ταξινομημένο πίνακα η δυαδική αναζήτηση απαιτεί κόστος της τάξης Θlog ). 5

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

Ορισμός Δοθέντων των στοιχείων a, a,, a η ταξινόμηση συνίσταται στη διάταξης permutato) της θέσης των στοιχείων, ώστε να τοποθετηθούν σε μία διάταξη a,..., k, ak a k έτσι ώστε, δοθείσης μίας συνάρτησης διάταξης orderg futo), f, να ισχύει: f a f a... f a k H προηγούμενη συνάρτηση διάταξης μπορεί να τροποποιηθεί, ώστε να καλύπτει και την περίπτωση όπου η ταξινόμηση γίνεται με φθίνουσα τάξη desedg sequee) μεγέθους του κλειδιού. k k 7

Στη γενικότερη περίπτωση μπορεί να θεωρηθεί ότι η ταξινόμηση στηρίζεται σε δύο ή περισσότερα κλειδιά της εγγραφής. Για παράδειγμα, σε πολλά παιχνίδια της τράπουλας οι παίκτες ταξινομούν τα χαρτιά τους με πρώτο κλειδί το χρώμα του φύλλου πχ. μπαστούνια, σπαθιά, καρά και κούπες) και με δεύτερο κλειδί την αξία του φύλλου πχ. Άσσος, Ρήγας, Ντάμα, Βαλές, 0,..., ). Tο αντικείμενο της ταξινόμησης είναι πολύ πλούσιο καθώς μπορεί να εφαρμοσθεί σε πολλά περιβάλλοντα όπως, εσωτερική teral) ταξινόμηση στην κύρια μνήμη ή εξωτερική exteral) ταξινόμηση στη δευτερεύουσα μνήμη, και υπό πολλές συνθήκες όπως, επιτοπίως stu, plae) ή με επιπλέον χώρο, ως προς τη στατιστική κατανομή των κλειδιών προς ταξινόμηση κλπ.). 8

Στην ενότητα αυτή θα εξετάσουμε εκ νέου τους γνωστούς αλγορίθμους εσωτερικής ταξινόμησης ώστε να αποδείξουμε και τυπικά τις εκφράσεις των πολυπλοκοτήτων τους. Αρχικά θα εξετάσουμε μεθόδους ταξινόμησης που βασίζονται στη σύγκριση, ενώ στη συνέχεια θα μελετήσουμε άλλες μεθόδους. Επίσης, θα απαντήσουμε στο ενδιαφέρον ερώτημα: "Πόσο γρήγορα μπορεί να γίνει η ταξινόμηση", με σκοπό να αποδείξουμε το θεωρητικό όριο της πολυπλοκότητας των αλγορίθμων ταξινόμησης. 9

Αρχικά θα εξετάσουμε τον αλγόριθμο της ταξινόμησης με εισαγωγή και θα καταλάβουμε τη συμπεριφορά του σε δύο περιπτώσεις δίνοντας στην είσοδο τους πίνακες A=[,, 3, 4, 5, 6] και Α=[6, 5, 4, 3,, ], με στοιχεία που είναι ήδη ταξινομημένα με αύξουσα και φθίνουσα διάταξη αντίστοιχα. Παρατηρούμε ότι οι περιπτώσεις αυτές είναι ακραίες και δεν μπορούν να χαρακτηρισθούν ως η μέση περίπτωση, η περίπτωση δηλαδή όπου τα στοιχεία του πίνακα εμφανίζονται με μία τυχαία σειρά. Ακολουθεί ο ψευδοκώδικας για τον αλγόριθμό μας. 0

. for to do. key A[ ]; 3. j - ; 4. whle j > 0 ad key < A[j] do 5. A[j+] A[j] 6. j j - 7. A[j +] key Η μέθοδος αυτή διακρίνει τον πίνακα σε δύο τμήματα: την ακολουθία πηγή soure sequee) και την ακολουθία προορισμού destato sequee). Λαμβάνει στοιχεία από την ακολουθία πηγή και τα κατευθύνει στη σωστή θέση στην ακολουθία προορισμού. Κάθε φορά το μέγεθος της ακολουθίας πηγής μειώνεται κατά ένα, ενώ το μέγεθος της ακολουθίας προορισμού αυξάνεται κατά ένα. Σε κάθε επανάληψη το λαμβανόμενο στοιχείο είναι το πρώτο της ακολουθίας πηγής εντολή 3). Το στοιχείο αυτό συγκρίνεται με τα στοιχεία της ακολουθίας προορισμού αρχίζοντας από το τέλος και συνεχίζοντας προς την αρχή από δεξιά προς αριστέρα) μέχρι να εντοπίσει την κατάλληλη θέση

Ένα Παράδειγμα = =. for to do. key A[ ]; 3. j - ; 4. whle j > 0 ad key < A[j] do 5. A[j+] A[j] 6. j j - 7. A[j +] key =3 =4 =5 =6 =7 =8 =9 =0

Πρόταση. Η πολυπλοκότητα της ταξινόμησης με εισαγωγή για την καλύτερη, τη μέση και τη χειρότερη περίπτωση είναι Θ), Θ ) και Θ ), αντιστοίχως Απόδειξη Αν στην είσοδο θεωρηθεί ο πίνακας A=[,, 3, 4, 5, 6], τότε η ταξινόμηση συμπεριφέρεται πολύ αποτελεσματικά και δεν εισέρχεται μέσα στο σώμα της εντολής 4. Έτσι ουσιαστικά το κάθε φορά λαμβανόμενο στοιχείο από την ακολουθία πηγής συγκρίνεται με ένα μόνο στοιχείο όπως προκύπτει από τη συνθήκη ελέγχου 4). Θεωρώντας αυτή τη σύγκριση ως την πράξη βαρόμετρο, καταλήγουμε ότι για ένα πίνακα μεγέθους στοιχείων, ο αντίστοιχος αριθμός συγκρίσεων είναι -. Επομένως προκύπτει ότι στην καλύτερη περίπτωση η πολυπλοκότητα είναι γραμμική Θ). 3

Τώρα ας θεωρήσουμε την περίπτωση όπου στην είσοδο δίνεται ο πίνακας Α =[6, 5, 4, 3,, ]. Το κάθε φορά επιλεγόμενο στοιχείο είναι μικρότερο από τα ήδη τοποθετημένα στην ακολουθία προορισμού. Έτσι εκτελείται ένας συγκεκριμένος αριθμός συγκρίσεων μέχρι να τοποθετηθεί το νέο στοιχείο στη σωστή θέση, δηλαδή στην πρώτη θέση της ακολουθίας προορισμού. Έτσι η εντολή 5 εκτελείται φορές, όπου το μεταβάλλεται από μέχρι -.. for to do. key A[ ]; 3. j - ; 4. whle j > 0 ad key < A[j] do 5. A[j+] A[j] 6. j j - 7. A[j +] key Θεωρώντας την πράξη αυτή ως βαρόμετρο, καταλήγουμε ότι για ένα πίνακα μεγέθους στοιχείων, ο αντίστοιχος αριθμός συγκρίσεων είναι η πολυπλοκότητα στη χειρότερη περίπτωση είναι τετραγωνική Θ ). 4

Το σημαντικότερο ερώτημα προκύπτει στην περίπτωση ταξινόμησης τυχαίων δεδομένων εισόδου, δηλαδή στην περίπτωση όπου οποιαδήποτε από τις! διατάξεις των δεδομένων εισόδου μπορεί να εμφανισθεί με ίση πιθανότητα /!. Η επίδοση αυτή μπορεί να προκύψει θεωρώντας ότι το στοιχείο που κάθε φορά λαμβάνεται από την ακολουθία πηγής θα διανύσει το μισό δρόμο μέχρι την αρχή της ακολουθίας προορισμού. Όπως προηγουμένως, και πάλι θα προκύψει ότι στη μέση αυτή περίπτωση η επίδοση περιγράφεται από μία τετραγωνική συνάρτηση, επομένως και στην περίπτωση αυτή η πολυπλοκότητα είναι Θ ). 5

Αναλυτική απόδειξη του της πολυπλοκότητας του αλγόριθμου κόστος επαναλήψεις. for to do. key A[ ]; - 3. j - ; 3-4. whle j > 0 ad key < A[j] do 4 t 5. A[j+] A[j] 5 t - 6. j j - 6 t - 7. A[j +] key 7 - Οπου t είναι το πλήθος των επαναλήψεων εκτέλεσης του whle-loop γραμμή 4) για κάθε τιμή του. Η τιμή του μεταβάλλεται από μέχρι. T ) ) 3 ) 4 t 5 t ) 6 t ) 7 ) 6

Ανάλυση καλύτερης περίπτωσης Η καλύτερη περίπτωση συμβαίνει όταν ο πίνακας είναι ήδη ταξινομημένος. Για κάθε =, 3,,, το στοιχείο A[j] είναι μικρότερο ή ίσο από το key όταν το j έχει την αρχική τιμή -. Δηλαδή, όταν j = -, πάντα βρίσκει το κλειδί A[j] στην πρώτη φορά εκτέλεσης του whle-loop. Συνεπώς για t = για =, 3,..., ) ) ) ) ) ) 7 6 5 4 3 t t t T ) ) ) ) ) ) 7 6 5 4 3 T ) ) ) ) ) 7 4 3 T ) ) ) ) 7 4 3 7 4 3 T 7

Ανάλυση χειρότερης περίπτωσης Η χειρότερη περίπτωση συμβαίνει αν ο πίνακας είναι ταξινομημένος σε φθίνουσα διάταξη. Στη περίπτωση αυτή το στοιχείο A[j] είναι μεγαλύτερο από το key. Ετσι θα πρέπει να συγκρίνουμε κάθε στοιχείο A[] με κάθε στοιχείο του ταξινομημένου υποπίνακα A[.. ] και συνεπώς t = for =, 3,..., Δηλαδή, το whle-loop θα εκτελεστεί μέχρι το j να γίνει 0, άρα ένας επιπλέον έλεγχος μετά τους ελέγχους. Αρα t = for =, 3,..., ) ) ) ) ) ) 7 6 5 4 3 t t t T ) ) ) ) ) ) 7 6 5 4 3 T ) ) ) ) ) ) ) ) ) ) 7 6 5 4 3 T 8

Ανάλυση μέσης περίπτωσης Συνήθως μας ενδιαφέρει η μελέτη της πολυπλοκότητας της χειρότερης περίπτωσης καθώς εκφράζει τον μεγαλύτερο χρόνο εκτέλεσης για οποιαδήποτε τιμή του. Ο πολυπλοκότητα της χειρότερης περίπτωσης μας δίνει ένα άνω όριο του χρόνου εκτέλεσης, δηλαδή αυτό το άνω όριο μας δίνει την εγγύηση ότι ο αλγόριθμος δεν θα χρειαστεί σε καμιά περίπτωση μεγαλύτερο χρόνο εκτέλεσης. Για τον αλγόριθμο της ταξινόμησης με εισαγωγή υποθέτουμε ότι επιλέγονται με τυχαίο τρόπο οι αριθμοί. Κατά μέσον όρο το A[] είναι μικρότερο από τα μισά στοιχεία του υποπίνακα A[.. ] και μεγαλύτερο από τα υπόλοιπα μισά. Αυτό σημαίνει ότι το whle-loop θα πρέπει να κάνει συγκρίσεις με τα μισά στοιχεία του υποπινάκα A[.. ] για να αποφασίσει που θα τοποθετήσει το key. Που σημαίνει ότι t = / Συνεπώς παρά το γεγονός ότι ο χρόνος εκτέλεσης της μέσης περίπτωσης είναι κατά προσέγγιση ο μισός της χειρότερης περίπτωσης παρ όλα αυτά είναι τετραγωνική συνάρτηση του. 9

Ταξινόμηση με Επιλογή Αλγόριθμος selet. for to - do. m ; 3. for j + to do 4. f A[j] < A[m] the 5. m j 6. SWAPA[], A[m]) 0

Πρόταση. Η πολυπλοκότητα της ταξινόμησης με επιλογή είναι Θ ) σε κάθε περίπτωση. Απόδειξη O αλγόριθμος σαρώνει τον πίνακα ώστε να εντοπίσει το μικρότερο στοιχείο και να το τοποθετήσει στην πρώτη θέση. Στη συνέχεια περιορίζει την αναζήτηση στα υπόλοιπα - στοιχεία ώστε να εντοπίσει το μικρότερο μεταξύ αυτών και να το τοποθετήσει στη δεύτερη θέση κοκ. Επομένως, εύκολα προκύπτει ότι η εντολή 4 f Α [j] < Α [m] θα εκτελεσθεί τον ίδιο αριθμό επαναλήψεων ανεξαρτήτως του περιεχομένου του πίνακα εισόδου. Είτε, λοιπόν, στην είσοδο δοθεί ο πίνακας Α είτε ο Α όπως αναφέρονται στον προηγούμενο αλγόρθμο), το αντίστοιχο πλήθος συγκρίσεων θα είναι το ίδιο. Πραγματοποιείται μια σύγκριση σε κάθε επανάληψη του εσωτερικού βρόχου, για κάθε δηλαδή τιμή της μεταβλητής j μεταξύ των ορίων + και. Αυτό επαναλαμβάνεται για κάθε επανάληψη του εξωτερικού βρόχου, για κάθε τιμή της μεταβλητής μεταξύ των ορίων και -.

Οπότε έχουμε το πλήθος των συγκρίσεων θα είναι: Γνωρίζουμε για το άθροισμα : Οπότε: j j...... j

http://ourses.s.vt.edu/sole/algorthms/l essos/dex.html http://www.persoal.ket.edu/~rmuhamma/al gorthms/algorthm.html https://www.oursera.org/ourse/algo 3

Τέλος Ενότητας