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

Σχετικά έγγραφα
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

εισαγωγικές έννοιες Παύλος Εφραιμίδης Δομές Δεδομένων και

Προγραμματισμός Η/Υ (ΤΛ2007 )

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Δοµές Δεδοµένων

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

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

Προτεινόμενος τρόπος διδασκαλίας του μαθήματος με ενδεικτικό χρονοπρογραμματισμό. Α/Α Ενότητες Περιγραφή Ώρες 1 Εισαγωγικό μάθημα 1

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

ΤΕΛΙΚΟ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ

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

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

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

Διάλεξη 04: Παραδείγματα Ανάλυσης

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

Διαδικασιακός Προγραμματισμός

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

Διάλεξη 09: Αλγόριθμοι Ταξινόμησης I

ΗΥ240: οµές εδοµένων Χειµερινό Εξάµηνο Ακαδηµαϊκό Έτος Παναγιώτα Φατούρου. Προγραµµατιστική Εργασία 3 ο Μέρος

Πληροφορική 2. Δομές δεδομένων και αρχείων

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

Δυναμικά Σύνολα. Δυναμικό σύνολο. Tα στοιχεία του μεταβάλλονται μέσω εντολών εισαγωγής και διαγραφής. διαγραφή. εισαγωγή

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

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

Κατακερματισμός (Hashing)

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

Διάλεξη 04: Παραδείγματα Ανάλυσης Πολυπλοκότητας/Ανάλυση Αναδρομικών Αλγόριθμων

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

Πίνακες Συμβόλων. εισαγωγή αναζήτηση επιλογή. εισαγωγή. αναζήτηση

ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 4. Παραδείγματα Ανάλυσης Πολυπλοκότητας Ανάλυση Αναδρομικών Αλγόριθμων

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

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

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

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

Αλγόριθμοι Ταξινόμησης Μέρος 2

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

Σύνοψη Προηγούμενου. Πίνακες (Arrays) Πίνακες (Arrays): Βασικές Λειτουργίες. Πίνακες (Arrays) Ορέστης Τελέλης

Διδάσκων: Παναγιώτης Ανδρέου

Ταξινόμηση: Εισαγωγικά. Ταξινόμηση (Sor ng) Αλγόριθμοι Απλής Ταξινόμησης. Βασικά Βήματα των Αλγορίθμων

Δυναμικά Σύνολα. Δυναμικό σύνολο. Tα στοιχεία του μεταβάλλονται μέσω εντολών εισαγωγής και διαγραφής. διαγραφή. εισαγωγή

Θεωρία Πληροφορίας. Διάλεξη 4: Διακριτή πηγή πληροφορίας χωρίς μνήμη. Δρ. Μιχάλης Παρασκευάς Επίκουρος Καθηγητής

Η ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ Εντολές Επανάληψης REPEAT UNTIL, FOR, WHILE

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

Κεφάλαιο 2 Πιθανότητες. Πέτρος Ε. Μαραβελάκης, Επίκουρος Καθηγητής, Πανεπιστήμιο Πειραιώς

Κεφάλαιο 13 Αντισταθμιστική Ανάλυση

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

Ενδεικτικές Λύσεις 1ου Σετ Ασκήσεων

Διδάσκων: Παναγιώτης Ανδρέου

Προβλήματα, αλγόριθμοι, ψευδοκώδικας

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

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

Άσκηση 1. με κόκκινο χρώμα σημειώνονται οι κρίσιμοι κόμβοι

Επιµέλεια Θοδωρής Πιερράτος

ΕΝΑΣ ΔΙΚΡΙΤΗΡΙΟΣ ΑΛΓΟΡΙΘΜΟΣ SIMPLEX

Bubble Hack Οπτικοποίηση του αλγορίθμου ταξινόμησης Bubble Sort στο Scratch

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 3 Ο. Σταθερές-Παράμετροι-Μεταβλητές Αριθμητικοί & Λογικοί Τελεστές Δομή ελέγχου-επιλογής Σύνθετοι έλεγχοι

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

Ταχεία Ταξινόμηση Quick-Sort

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

Κατακερµατισµός. Οργάνωση Αρχείων (σύνοψη) Οργάνωση αρχείων: πως είναι τοποθετημένες οι εγγραφές ενός αρχείου όταν αποθηκεύονται στο δίσκο

Αναφορά (1/2) Μπορούμε να ορίσουμε μια άλλη, ισοδύναμη αλλά ίσως πιο σύντομη, ονομασία για ποσότητα (μεταβλητή, σταθερή, συνάρτηση, κλπ.

Εισαγωγή στην Ανάλυση Αλγορίθμων (2-3)

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

1η Σειρά Γραπτών Ασκήσεων

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

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ ΕΠΛ 035 Δομές Δεδομένων και Αλγόριθμοι για Ηλ. Μηχ. και Μηχ. Υπολ.

Βρόχοι. Εντολή επανάληψης. Το άθροισμα των αριθμών 1 5 υπολογίζεται με την εντολή. Πρόβλημα. Πώς θα υπολογίσουμε το άθροισμα των ακέραιων ;

Πανεπιστήμιο Ιωαννίνων Τμήμα Πληροφορικής Δομές Δεδομένων [ΠΛΥ302] Χειμερινό Εξάμηνο 2012

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

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

ΦΥΛΛΑΔΙΟ ΚΑΤΑΝΟΗΣΗΣ 6 ΕΠΙΔΟΣΗ ΑΛΓΟΡΙΘΜΩΝ. 3. Να υπολογιστεί για τον παρακάτω αλγόριθμο η επίδοση του με βάση τον αριθμό των πράξεων που θα

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

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

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

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

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Ταξινόμηση. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

k 1 j 1 A[k] i A[...]... A[...]... k A4.

Transcript:

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

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

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

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

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

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

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

. for to do. key A[ ];. 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. Λαμβάνει στοιχεία από την ακολουθία πηγή και τα κατευθύνει στη σωστή θέση στην ακολουθία προορισμού. Κάθε φορά το μέγεθος της ακολουθίας πηγής μειώνεται κατά ένα, ενώ το μέγεθος της ακολουθίας προορισμού αυξάνεται κατά ένα. Σε κάθε επανάληψη το λαμβανόμενο στοιχείο είναι το πρώτο της ακολουθίας πηγής εντολή. Το στοιχείο αυτό συγκρίνεται με τα στοιχεία της ακολουθίας προορισμού αρχίζοντας από το τέλος και συνεχίζοντας προς την αρχή από δεξιά προς αριστέρα μέχρι να εντοπίσει την κατάλληλη θέση 8

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

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

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

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

Αναλυτική απόδειξη του πολυπλοκότητας του αλγόριθμου κόστος. for to do. key A[ ]; -. j - ; - 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 4 t t 6 t 5 7

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

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

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

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

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

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

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 0