ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ
|
|
- Πανκρατιος Τρικούπης
- 7 χρόνια πριν
- Προβολές:
Transcript
1 ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Ενότητα 7α: Μελέτη πολυπλοκότητας των Αλγόριθμων qucksort & mergesort Μαρία Σατρατζέμη Τμήμα Εφαρμοσμένης Πληροφορικής
2 Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creatve Commos. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύπου άδειας χρήσης, η άδεια χρήσης αναφέρεται ρητώς. ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Μαρία Σατρατζέμη
3 Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα στο Πανεπιστήμιο Μακεδονίας» έχει χρηματοδοτήσει μόνο τη αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους. ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Μαρία Σατρατζέμη 3
4 . Γρήγορη ταξινόμηση. Ταξινόμηση με Συγχώνευση Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη
5 Γρήγορη Ταξινόμηση Η γρήγορη ταξινόμηση qucksort), που αλλιώς ονομάζεται και ταξινόμηση µε διαμερισμό και ανταλλαγή partto exchage sort), θεωρείται ένας από τους top-0 αλγορίθμους ως προς την πρακτική χρηστότητα και το ενδιαφέρον που προκάλεσαν από τη θεωρητική σκοπιά. Η γρήγορη ταξινόμηση αποτελεί ένα κλασικό παράδειγμα αλγορίθμου της οικογενείας Διαίρει και Βασίλευε. Όπως δηλώνει το πρώτο όνομα του αλγορίθμου, πρόκειται για µία πολύ αποτελεσματική μέθοδο ταξινόμησης πλην ελαχίστων εξαιρέσεων). Όπως δηλώνει το δεύτερο όνοµά του, τα βασικά χαρακτηριστικά του είναι δύο: η ανταλλαγή και ο διαμερισμός. 5
6 Γρήγορη Ταξινόμηση Πρώτον, δηλαδή, εκτελούνται ανταλλαγές μεταξύ των στοιχείων του πίνακα έτσι ώστε τα στοιχεία µε μικρότερες τιμές να μετακινηθούν προς τη µία πλευρά, ενώ τα στοιχεία µε μεγαλύτερες τιμές να μετακινηθούν προς την άλλη πλευρά του πίνακα. Έτσι, επακολουθεί η εφαρμογή του δεύτερου χαρακτηριστικού, δηλαδή του διαμερισμού του πίνακα σε δύο μικρότερους που ταξινομούνται ανεξάρτητα μεταξύ τους. Είναι προφανές ότι στους δύο υποπίνακες επιφυλάσσεται η ίδια αντιμετώπιση: ανταλλαγή και διαμερισμός. 6
7 Αλγόριθμος qucksort Δίνεται προς ταξινόμηση ένας πίνακας Α[.. ], που περιέχει ακεραίους αριθμούς. Το pvot αξονικό) είναι ένα στοιχείο του πίνακα, το οποίο παίρνει την τελική του θέση στον πίνακα, ώστε κατόπιν να γίνει ο διαμερισμός σε δύο υποπίνακες με μικρότερα και μεγαλύτερα στοιχεία από το pvot αντίστοιχα. Η επιλογή του pvot μπορεί να γίνει με πολλούς τρόπους. Δεχόμαστε ότι ως pvot λαμβάνεται το πρώτο στοιχείο του πίνακα. 7
8 Ο πίνακας σαρώνεται από τα αριστερά προς τα δεξιά αναζητώντας το πρώτο στοιχείο µε τιμή μεγαλύτερη ή ίση από την τιμή του pvot. 'Υστερα, ο πίνακας σαρώνεται από τα δεξιά προς τα αριστερά αναζητώντας το πρώτο στοιχείο µε τιμή μικρότερη ή ίση από την τιµή του pvot. Όταν εντοπισθούν δύο τέτοια στοιχεία, τότε αυτά ανταλλάσσονται ώστε κατά το δυνατόν να τείνουν να πλησιάσουν προς την τελική τους θέση. Συνεχίζουμε τις σαρώσεις προσπαθώντας να εντοπίσουμε άλλα παρόμοια ζεύγη και να τα ανταλλάξουμε. Κάποια στιγμή οι δύο δείκτες σάρωσης διασταυρώνονται. Τότε η σάρωση σταματά και το pvot λαμβάνει την τελική του θέση εκτελώντας άλλη µία ανταλλαγή μεταξύ του pvot και του στοιχείου όπου σταμάτησε ο δείκτης της σάρωσης από δεξιά. Έτσι, η διαδικασία μπορεί να συνεχίσει στους δύο υποπίνακες κατά τα γνωστά. 8
9 Αλγόριθμος qucksorta, left, rght);. f left < rght the. lo left; h rght + ; pvot A[left]; 3. do 4. do lo lo+ whle A[lo] <= pvot; 5. do h h - whle A[h] >= pvot; 6. f lo < h the swapa[lo], A[h]); 7. whle h >= lo; 8. swapa[left], A[h]); 9. qucksorta, left, h-); 0. qucksorta, h+, rght) 9
10 Επιλογή Pvot Υπάρχουν διάφοροι τρόποι επιλογής του pvot. Στο παράδειγμα επιλέγεται το πρώτο στοιχείο:
11 Διαμερισμός πίνακα Δοθέντος του pvot διαμερίζουμε τα στοιχεία του πίνακα ώστε ο πίνακας που θα προκύψει να αποτελείται από:. Έναν υποπίνακα που περιέχει στοιχεία >= pvot. Έναν υποπίνακα που περιέχει στοιχεία < pvot Οι υποπίνακες αποθηκεύονται στον αρχικό πίνακα. Κατά το διαμοιρασμό γίνεται ανταλλαγή στοιχείων μικρότερων / μεγαλύτερων του pvot.
12 Ένα παράδειγμα pvot dex = [] [] [3] [4] [5] [6] [7] [8] [9] lo h
13 4. do lo lo + whle A[lo] <= pvot pvot dex = [] [] [3] [4] [5] [6] [7] [8] [9] lo h 3
14 Ένα παράδειγμα 4. do lo lo + whle A[lo] <= pvot pvot dex = [] [] [3] [4] [5] [6] [7] [8] [9] lo h 4
15 Ένα παράδειγμα 4. do lo lo + whle A[lo] <= pvot pvot dex = [] [] [3] [4] [5] [6] [7] [8] [9] lo h 5
16 Ένα παράδειγμα 4. do lo lo + whle A[lo] <= pvot 5. do h h - whle A[h] >= pvot pvot dex = [] [] [3] [4] [5] [6] [7] [8] [9] lo h 6
17 Ένα παράδειγμα 4. do lo lo + whle A[lo] <= pvot 5. do h h - whle A[h] >= pvot pvot dex = [] [] [3] [4] [5] [6] [7] [8] [9] lo h 7
18 Ένα παράδειγμα 4. do lo lo + whle A[lo] <= pvot 5. do h h - whle A[h] >= pvot 6. f lo < h swapa[lo], A[h]) pvot dex = [] [] [3] [4] [5] [6] [7] [8] [9] lo h 8
19 Ένα παράδειγμα 4. do lo lo + whle A[lo] <= pvot 5. do h h - whle A[h] >= pvot 6. f lo < h swapa[lo], A[h]) pvot dex = [] [] [3] [4] [5] [6] [7] [8] [9] lo h 9
20 3. do Ένα παράδειγμα 4. do lo lo + whle A[lo] <= pvot 5. do h h - whle A[h] >= pvot 6. f lo < h swapa[lo], A[h]) 7. whle h >= lo; pvot dex = [] [] [3] [4] [5] [6] [7] [8] [9] lo h 0
21 3. do Ένα παράδειγμα 4. do lo lo + whle A[lo] <= pvot 5. do h h - whle A[h] >= pvot 6. f lo < h swapa[lo], A[h]) 7. whle h >= lo; pvot dex = [] [] [3] [4] [5] [6] [7] [8] [9] lo h
22 3. do Ένα παράδειγμα 4. do lo lo + whle A[lo] <= pvot 5. do h h - whle A[h] >= pvot 6. f lo < h swapa[lo], A[h]) 7. whle h >= lo; pvot dex = [] [] [3] [4] [5] [6] [7] [8] [9] lo h
23 3. do Ένα παράδειγμα 4. do lo lo + whle A[lo] <= pvot 5. do h h - whle A[h] >= pvot 6. f lo < h swapa[lo], A[h]) 7. whle h >= lo; pvot dex = [] [] [3] [4] [5] [6] [7] [8] [9] lo h 3
24 3. do Ένα παράδειγμα 4. do lo lo + whle A[lo] <= pvot 5. do h h - whle A[h] >= pvot 6. f lo < h swapa[lo], A[h]) 7. whle h >= lo; pvot dex = [] [] [3] [4] [5] [6] [7] [8] [9] lo h 4
25 3. do Ένα παράδειγμα 4. do lo lo + whle A[lo] <= pvot 5. do h h - whle A[h] >= pvot 6. f lo < h swapa[lo], A[h]) 7. whle h >= lo; pvot dex = [] [] [3] [4] [5] [6] [7] [8] [9] lo h 5
26 3. do Ένα παράδειγμα 4. do lo lo + whle A[lo] <= pvot 5. do h h - whle A[h] >= pvot 6. f lo < h swapa[lo], A[h]) 7. whle h >= lo; pvot dex = [] [] [3] [4] [5] [6] [7] [8] [9] lo h 6
27 3. do Ένα παράδειγμα 4. do lo lo + whle A[lo] <= pvot 5. do h h - whle A[h] >= pvot 6. f lo < h swapa[lo], A[h]) 7. whle h >= lo; pvot dex = [] [] [3] [4] [5] [6] [7] [8] [9] lo h 7
28 3. do Ένα παράδειγμα 4. do lo lo + whle A[lo] <= pvot 5. do h h - whle A[h] >= pvot 6. f lo < h swapa[lo], A[h]) 7. whle h >= lo; pvot dex = [] [] [3] [4] [5] [6] [7] [8] [9] lo h 8
29 3. do Ένα παράδειγμα 4. do lo lo + whle A[lo] <= pvot 5. do h h - whle A[h] >= pvot 6. f lo < h swapa[lo], A[h]) 7. whle h >= lo; pvot dex = [] [] [3] [4] [5] [6] [7] [8] [9] lo h 9
30 3. do Ένα παράδειγμα 4. do lo lo + whle A[lo] <= pvot 5. do h h - whle A[h] >= pvot 6. f lo < h swapa[lo], A[h]) 7. whle h >= lo; pvot dex = [] [] [3] [4] [5] [6] [7] [8] [9] lo h 30
31 3. do Ένα παράδειγμα 4. do lo lo + whle A[lo] <= pvot 5. do h h - whle A[h] >= pvot 6. f lo < h swapa[lo], A[h]) 7. whle h >= lo; pvot dex = [] [] [3] [4] [5] [6] [7] [8] [9] lo h 3
32 3. do Ένα παράδειγμα 4. do lo lo + whle A[lo] <= pvot 5. do h h - whle A[h] >= pvot 6. f lo < h swapa[lo], A[h]) 7. whle h >= lo; pvot dex = [] [] [3] [4] [5] [6] [7] [8] [9] lo h 3
33 3. do Ένα παράδειγμα 4. do lo lo + whle A[lo] <= pvot 5. do h h - whle A[h] >= pvot 6. f lo < h swapa[lo], A[h]) 7. whle h >= lo; pvot dex = [] [] [3] [4] [5] [6] [7] [8] [9] lo h 33
34 3. do Ένα παράδειγμα 4. do lo lo + whle A[lo] <= pvot 5. do h h - whle A[h] >= pvot 6. f lo < h swapa[lo], A[h]) 7. whle h >= lo; pvot dex = [] [] [3] [4] [5] [6] [7] [8] [9] lo h 34
35 3. do Ένα παράδειγμα 4. do lo lo + whle A[lo] <= pvot 5. do h h - whle A[h] >= pvot 6. f lo < h swapa[lo], A[h]) 7. whle h >= lo; pvot dex = [] [] [3] [4] [5] [6] [7] [8] [9] lo h 35
36 3. do Ένα παράδειγμα 4. do lo lo + whle A[lo] <= pvot 5. do h h - whle A[h] >= pvot 6. f lo < h swapa[lo], A[h]) 7. whle h >= lo; 8. swapa[left], A[h]); pvot_dex = [] [] [3] [4] [5] [6] [7] [8] [9] lo h 36
37 Αποτέλεσμα διαμερισμού [] [] [3] [4] [5] [6] [7] [8] [9] <= Α[pvot] > Α[pvot] 37
38 Αναδρομή: Qucksort Sub-arrays [0] [] [] [3] [4] [5] [6] [7] [8] <= Α[pvot] > Α[pvot] 38
39 Qucksort: Χειρότερη περίπτωση Υποθέτουμε ότι το πρώτο στοιχείο επιλέγεται ως pvot. Υποθέτουμε ότι ο πίνακας είναι ήδη ταξινομημένος: pvot dex = [] [] [3] [4] [5] [6] [7] [8] [9] lo h 39
40 3. do 4. do lo lo + whle A[lo] <= pvot 5. do h h - whle A[h] >= pvot 6. f lo < h swapa[lo], A[h]) 7. whle h >= lo; pvot dex = [] [] [3] [4] [5] [6] [7] [8] [9] lo h 40
41 3. do 4. do lo lo + whle A[lo] <= pvot 5. do h h - whle A[h] >= pvot 6. f lo < h swapa[lo], A[h]) 7. whle h >= lo; pvot dex = [] [] [3] [4] [5] [6] [7] [8] [9] lo h 4
42 3. do 4. do lo lo + whle A[lo] <= pvot 5. do h h - whle A[h] >= pvot 6. f lo < h swapa[lo], A[h]) 7. whle h >= lo; pvot dex = [] [] [3] [4] [5] [6] [7] [8] [9] lo h 4
43 3. do 4. do lo lo + whle A[lo] <= pvot 5. do h h - whle A[h] >= pvot 6. f lo < h swapa[lo], A[h]) 7. whle h >= lo; pvot dex = [] [] [3] [4] [5] [6] [7] [8] [9] lo h 43
44 3. do 4. do lo lo + whle A[lo] <= pvot 5. do h h - whle A[h] >= pvot 6. f lo < h swapa[lo], A[h]) 7. whle h >= lo; pvot dex = [] [] [3] [4] [5] [6] [7] [8] [9] lo h 44
45 3. do 4. do lo lo + whle A[lo] <= pvot 5. do h h - whle A[h] >= pvot 6. f lo < h swapa[lo], A[h]) 7. whle h >= lo; 8. swapa[left], A[h]); pvot dex = [] [] [3] [4] [5] [6] [7] [8] [9] lo h 45
46 3. do 4. do lo lo + whle A[lo] <= pvot 5. do h h - whle A[h] >= pvot 6. f lo < h swapa[lo], A[h]) 7. whle h >= lo; 8. swapa[left], A[h]); pvot dex = [] [] [3] [4] [5] [6] [7] [8] [9] <= A[pvot] > A[pvot] 46
47 Πρόταση. Η πολυπλοκότητα της γρήγορης ταξινόμησης είναι Θ ) στη χειρότερη περίπτωση. Απόδειξη Σε πίνακα μεγέθους, το επιλεγόμενο στοιχείο ως pvot στη χειρότερη περίπτωση είναι το μικρότερο ή το μεγαλύτερο ταξινομημένος πίνακας σε αύξουσα ή φθίνουσα διάταξη), και τα μεγέθη των δύο υποπινάκων που θα προκύψουν να είναι 0 και - αντίστοιχα αφού η µία θέση του πίνακα θα καταληφθεί από τον ίδιο τον pvot). Έτσι προκύπτει η ακόλουθη αναδρομική εξίσωση: ) Ο όρος του δεξιού σκέλους αντιστοιχεί στις συγκρίσεις που θα εκτελεσθούν κατά τη σάρωση του πίνακα εντολές 4-5) πριν επιτευχθεί μια διαμέριση. Για την αναδρομική εξίσωση διαδοχικά ισχύει: Με συνεχείς αντικαταστάσεις προς τα πίσω στην ) και Τ0) = 0 προκύπτει ότι:
48 Πρόταση. Η πολυπλοκότητα της γρήγορης ταξινόμησης είναι Θlog ) στην καλύτερη περίπτωση. Απόδειξη Η καλύτερη περίπτωση συμβαίνει όταν κάθε φορά ως pvot επιλέγεται ένα στοιχείο που λαμβάνοντας την τελική του θέση υποδιαιρεί τον πίνακα σε δύο υποπίνακες ίσου μεγέθους. Επομένως ισχύει η αναδρομική εξίσωση: µε αρχικές συνθήκες Τ0) = 0. Για την ευκολία της ανάλυσης υποθέτουμε ότι = k, Οπότε: Ή η απόδειξη όπως το παράδειγμα, σελ. 3, 04_Recurrece Relatos.pdf 48
49 Αθροίζοντας τα αριστερά και δεξιά σκέλη αυτών των εξισώσεων προκύπτει ότι: Eχουμε: k )... log log Η αναδρομική εξίσωση ) είναι πλέον εύκολη υπόθεση καθώς ισχύει διαδοχικά: k φορές = k log =k) log log log... / 4 4 Απόδειξη με κανόνα ορίου) 49
50 Πρόταση 3. Η πολυπλοκότητα της γρήγορης ταξινόμησης είναι Θ log ) στη μέση περίπτωση. Απόδειξη Για να εξετάσουμε τη μέση περίπτωση θα υποθέσουμε ότι για στοιχεία, κάθε διάταξη των στοιχείων αυτών όπου! είναι το πλήθος των διατάξεων) είναι ισοπίθανη. Επομένως, το κάθε φορά επιλεγόμενο pvot τελικά επιλέγεται µε τυχαίο τρόπο και άρα όλα τα στοιχεία έχουν την ίδια πιθανότητα / να αποτελέσουν στοιχείο διαχωρισμού pvot). Ετσι καταλήγουμε σε τυχαίες διαμερίσεις του πίνακα, σε υποπίνακες μεγέθους k και -k-, όπου k=0,,, -. Θα χειρισθούμε τη μέση περίπτωση µε τη βοήθεια της επόμενης αναδρομικής εξίσωσης για : k0 k k µε αρχικές συνθήκες Τ0) = 0. 50
51 k0 k k µε αρχικές συνθήκες Τ0) = 0. Λόγω ισομετρίας και των αρχικών συνθηκών, η προηγούμενη αναδρομική εξίσωση μετασχηματίζεται σε: k 0 k k 0) )... ) 0 ) )... ) ) 0... ) 0 ) )... ) 0)... ) ) )... ) k k k) k) k k k άρα k 5
52 Τη σχέση πολλαπλασιάζουμε επί και προκύπτει Επίσης στην ίδια σχέση αντικαθιστούμε το με - και πολλαπλασιάζουμε με -, οπότε προκύπτει: Αφαιρώντας τα αντίστοιχα σκέλη των δυο τελευταίων εκφράσεων: ) k k k k ) προκύπτει k k k k ) k k ) ) k k k k ) k k k k ) ) ) ) 5
53 ) ) ) ) ) ) ) ) 3 ) ) ) ) 5 3) ) 3 3 ) 3 ) Με διαδοχικές αντικαταστάσεις του με - με ) προκύπτει: Αθροίζοντας αντίστοιχα τα αριστερά και δεξιά σκέλη και απλοποιώντας προκύπτει : ) ) 3 ) 3 ) ) 3 ) ) 3 ) ) 3 Επομένως πρέπει να υπολογίσουμε το άθροισμα του δεξιού σκέλους: ) ) ) ) ) ) ) ) ) 53
54 H H H H H H H H H 3 ) 7 ) ) 3 7 ) H H 3 7 ) 3 ) 7 ) ) H H 3 ) ) 3 H l log H H... 3 log log ) ) 54
55 55
56 Qucksort: χώρος αποθήκευσης Η γρήγορη ταξινόμηση δεν είναι επιτόπιος αλγόριθμος, δηλαδή δεν αρκείται στο χώρο του συγκεκριμένου πίνακα αλλά χρειάζεται επιπλέον χώρο. Ο χώρος αυτός δεν φαίνεται καθαρά στον ανωτέρω κώδικα αλλά απαιτείται από το μεταγλωττιστή κατά την αναδρομή. Εύλογα προκύπτει η ερώτηση σχετικά µε το μέγεθος αυτού του απαιτούμενου χώρου. Στη χειρότερη περίπτωση το μέγιστο βάθος της αναδρομής θα είναι - κλήσεις, αριθμός υπερβολικός. Για το λόγο αυτό έχει σχεδιάσει µια επαναληπτική εκδοχή της γρήγορης ταξινόμησης, δηλαδή µια εκδοχή που υλοποιεί την απαραίτητη στοίβα, όπου τοποθετούνται τα όρια του μικρότερου υποπίνακα, όπως φαίνεται στην επόμενη διαδικασία teratve_qucksort. 56
57 Αλγόριθμος teratve_qucksortleft,rght);. do. whle left < rght) do 3. lo left ; h rght+; pvot A[left]; p=left; q=rght; 4. do 5. do lo + whle A[lo]<=pvot; 6. do h h- whle A[h]>=pvot; 7. f lo<h the swapa[lo], A[h]); 8. whle h>=lo; 9. swapa[left], A[h]); 0. f h - p) < q - h)) the. pushh+); pushq); q h-;. else 3. pushp); pushh-); p h+; 4. f stack s empry the retur; 5. popq); popp); 6. whle true) 57
58 Ταξινόμηση µε Συγχώνευση Με τον όρο συγχώνευση mergg) εννοούμε την πράξη της δημιουργίας ενός νέου ταξινομημένου πίνακα που περιέχει όλα τα στοιχεία δύο ή και περισσοτέρων) πινάκων, που είναι ήδη ταξινομημένοι. Η διαδικασία Merge που ακολουθεί υλοποιεί τη συγχώνευση δύο ταξινομημένων πινάκων Α και Β µε και m ακεραίους αντίστοιχα) στον πίνακα C. Θεωρείται ότι οι δύο πίνακες έχουν και µία επιπλέον θέση που χρησιμεύει για την αποθήκευση ενός φρουρού setel). 58
59 Αλγόριθμος merge;. ; j ;. Α[+] maxt; Β[m+] maxt; 3. for k to +m do 4. f Α[] < Β[j] the 5. C[k] Α[]; + 6. else 7. C[k] Β[j]; j j+ Από το βρόχο της εντολής 3, είναι προφανές ότι η πολυπλοκότητα της συγχώνευσης είναι Θ+m), θεωρώντας φραγμένο από επάνω το κόστος της ερώτησης της εντολής
60 Merge sort H ταξινόμηση µε ευθεία συγχώνευση straght merge sort) κατά καιρούς έχει υλοποιηθεί µε πλήθος τρόπων, όπως επαναληπτικά ή αναδρομικά, για λίστες ή πίνακες κοκ. Στη συνέχεια ακολουθεί µία εκδοχή της για πίνακες, η oποία αποτελείται από δύο τρήματα: την αναδρομική merge_sort και τη merge. Στις εντολές 6-8 της merge_sort βρίσκεται το μεσαίο στοιχείο του πίνακα και εκτελούνται κλήσεις στους δύο υποπίνακες που προκύπτουν. Από εδώ προκύπτει ότι η μέθοδος ανήκει στην οικογένεια των αλγορίθμων Διαίρει και Βασίλευε. Η διαδικασία merge που καλείται όταν προκύψουν στοιχειώδεις υποπίνακες αναλαμβάνει τις συγκρίσεις των στοιχείων και τα τακτοποιεί µε τη βοήθεια ενός βοηθητικού πίνακα Β 60
61 Αλγόριθμος mergea, left, mddle, rght);. frst left; secod mddle +; temp left;. whle frst <= mddle) ad secod <= rght) do 3. f A[frst] <= A[secod] the 4. Β[temp] A[frst]; frst frst +; 5. else 6. Β[temp] A[secod]; secod secod + ; 7. temp temp+ 8. f frst<= mddle the 9. for k frst to mddle do 0. Β[temp] A[k]; temp temp +. else. for k secod to rght do 3. Β[temp] A[k]; temp temp + 4. for k left to rght do A[k] B[k] 6
62 Αλγόριθμος merge_sorta, left, rght); 5. f left < rght the 6. mddle left + rght)/ ; //dvde step 7. merge_sorta, left, mddle); //coquer step 8. merge_sorta, mddle+,rght); //coquer step 9. mergea, left, mddle, rght) //combe step 6
63 Σχήμα : Σειρά κλήσεων merge_sort Σχήμα : Σειρά κλήσεων merge Αν εφαρμόσουμε τις ανωτέρω διαδικασίες σε πίνακα Α=[5,, 7, 56, 5, 0, 9, 90, 45} µε τα 9 κλειδιά, τότε η mergesort θα κληθεί 7 φορές µε τη σειρά που απεικονίζεται επάνω από κάθε κόμβο του σχήματος, ενώ μέσα σε κάθε κόμβο φαίνονται τα ορίσματα της αντίστοιχος κλήσης. Στο Σχήµα φαίνονται 8 κλήσεις της merge, µε την αντίστοιχη τάξη εκτός του κόμβου και τα ορίσματα εντός του κόμβου. Και στις δύο περιπτώσεις η διάσχιση του δένδρου ακλουθεί τη λογική της αναζήτησης µε προτεραιότητα βάθους dfs). 63
64 Ένα παράδειγμα 64
65 Ένα παράδειγμα 65
66 Πρόταση 5. Η πολυπλοκότητα της merge_sort είναι Θ log ) στη χειρότερη περίπτωση. Απόδειξη Από τον αλγόριθμο merge_sort εξάγουμε την επόμενη αναδρομική εξίσωση: µε αρχική συνθήκη Τ) =, ενώ οι τρεις όροι του δεξιού σκέλους αντιστοιχούν στις εντολές 7-9. Συγκεκριμένα το κόστος σε συγκρίσεις της εντολής 9 προκύπτει από όσα αναφέρθησαν προηγουμένως για τη διαδικασία συγχώνευσης πινάκων. Για την ευκολία της ανάλυσης υποθέτουμε ότι = k, έτσι ώστε το κάθε βήμα διαμερισμού οδηγεί σε υποπροβλήματα ακριβώς μεγέθους /. Από την αναδρομική εξίσωση ισχύει διαδοχικά: 66
67 k k k k k = k log =k log log 67 Απόδειξη με κανόνα ορίου)
68 Η μέθοδος ταξινόμησης µε ευθεία συγχώνευση αξίζει την προσοχή µας γιατί είναι πολύ ευσταθής stable) μέθοδος, δηλαδή ανεξάρτητα από τη φύση των δεδομένων θα εκτελέσει τον ίδιο αριθμό συγκρίσεων στη μέση και τη χειρότερη περίπτωση. Το χαρακτηριστικό αυτό έρχεται σε αντίθεση µε το μειονέκτημα της γρήγορης ταξινόμησης, που διακρίνεται από πολυπλοκότητα Θ ) για τη χειρότερη περίπτωση. Ωστόσο, το συμπέρασμα αυτό προκύπτει γιατί στην ανάλυση λάβαμε υπόψη µας µόνο το πλήθος των εκτελούμενων συγκρίσεων. Σε µία πραγματική υλοποίηση, η χρήση του βοηθητικού πίνακα Β και οι εκτελούμενες καταχωρήσεις είναι επίσης πράξεις µη αμελητέου χρονικού κόστους, οι οποίες επιβαρύνουν τη συνολική επίδοση. Τελικώς, αν και η ταξινόμηση µε συγχώνευση δεν είναι ίσως η καλύτερη μέθοδος ταξινόμησης στην κύρια μνήμη, εν τούτοις αποτελεί τη βάση για μεθόδους εξωτερικής ταξινόμησης. 68
69 Ο αλγόριθμος merge μπορεί να μπορεί να εκφραστεί εναλλακτικά με τη χρήση βοηθητικών πινάκων L και R όπου αντιγράφονται τα στοιχεία του πίνακα Α, συγκεκριμένα τα A[left.. mddle] αντιγράφονται στον L[.. ] και A[mddle +.. rght ] αντιγράφονται στον R[.. ] όπου = mddle left + και = rght mddle. Χρησιμοποιούμε μια τιμή φρουρό την τιμή ) και την τοποθετούμε στη θέση L[+] και R[+], έτσι δε χρειάζεται να ελέγξουμε αν κάποιος από τους πίνακες είναι κενός. 69
70 merge A, left, mddle, rght ). mddle left +. rght mddle 3. Create arrays L[.. + ] ad R[.. + ] 4. for to do 5. L[] A[left + ] 6. for j to do 7. R[j] A[rght + j ] 8. L[ + ] 9. R[ + ] 0.. j. for k left to rght do 3. f L[ ] R[ j] the 4. A[k] L[] else A[k] R[j] 7. j j + 70
71 7
72 Ανάλυση πολυπλοκότητας Merge sort με Κύριο θεώρημα Τα πρώτα for loops γραμμή 4 και 6) χρειάζονται Θ + ) = Θ) χρόνο. Το τελευταίο for loop γραμμή ) εκτελεί επαναλήψεις, κάθε μια απαιτεί σταθερό χρόνο. Συνεπώς ο συνολικός χρόνος είναι Θ). Για απλότητα θεωρούμε το ως δύναμη του έτσι ώστε το βήμα διαμοιρασμού να οδηγεί σε υποπροβλήματα ιδίου μεγέθους /. Η βασική περίπτωση συμβαίνει για =. Για, ο χρόνος για την εκτέλεση των βημάτων του merge sort:. Διαίρει Dvde): Υπολογισμός του mddle ως μέσος όρος των left και rght που απαιτεί σταθερό χρόνο Θ).. Κυρίευε Coquer): Αναδρομική επίλυση των υποπροβλημάτων, καθένα μεγέθους /, δηλαδή /). 3. Συνδύασε Combe): Συγχώνευση σε ένα πίνακα με -στοιχεία απαιτεί Θ) χρόνο. Αθροίζοντας τα παραπάνω ) & 3) δίνουν μια συνάρτηση που είναι γραμμικού χρόνου, δηλαδή Θ). Προσθέτοντας τον όρο /) από το βήμα «κυρίευε» ) καταλήγουμε στην παρακάτω αναδρομική σχέση Αρα η αναδρομική σχέση για το merge sort είναι: 7
73 Ανάλυση πολυπλοκότητας Merge sort με Κύριο θεώρημα Η αναδρομική σχέση για το merge sort είναι: Με βάση το κεντρικό θεώρημα έχουμε: Εστω a, και b > σταθερές, f) μια συνάρτηση και Τ) μια συνάρτηση που ορίζεται επί των μη αρνητικών ακεραίων από την αναδρομική σχέση a b f Όπου /b εννοείται είτε b είτε b. Στην περίπτωση αυτή το Τ) μπορεί να φραγεί ασυμπτωτικά ως εξής: f f f log O a log a log a b b b log a log a log για κάποια σταθερά ε > 0, τότε τότε για κάποια σταθερά ε > 0, και αν b για κάποια σταθερά ε < και για όλα τα από κάποια τιμή και πάνω, τότε af f b cf b Με βάση το Κύριο θεώρημα Master heorem) έχουμε a =, b =, f) = Θ), τότε log log log 73
74 Η η εικόνα δείχνει ότι για το αρχικό πρόβλημα έχουμε κόστος c και επιπλέον δυο υποπροβλήματα που το καθένα κοστίζει /). Η η εικόνα δείχνει ότι για καθένα από τα υποπροβλήματα μεγέθους-/, έχουμε κόστος c/, και επιπλέον υποπροβλήματα που το καθένα κοστίζει /4). Και συνεχίζουμε με την επέκταση του δένδρου μέχρις ότου η διάσταση του κάθε υποπροβλήματος να γίνει. Στο δένδρο αναδρομής κάθε επίπεδο έχει κόστος c. Το ο επίπεδο έχει κόστος c. Το επόμενο επίπεδο έχει υποπροβλήματα με κόστος το καθένα c/. Το επόμενο επίπεδο έχει 4 υποπροβλήματα με κόστος το καθένα c/4. Κάθε φορά που κατεβαίνουμε επίπεδο το πλήθος των υποπροβλημάτων διπλασιάζεται αλλά το κόστος κάθε υποπροβλήματος μειώνεται στο μισό. log
75 Δένδρο αναδρομής Αθροίζοντας τα κόστη σε κάθε επίπεδο του δένδρου, έχουμε: Στο υψηλότερο επίπεδο έχουμε c/) + c/) = c Στο επόμενο αυτού : c/4) + c/4) c/4) + c/4) = c.. Γενικά στο επίπεδο που απέχει βαθμίδες από την κορυφή έχει κόμβους καθένας συνεισφέρει στο κόστος μια ποσότητα c/ ). Επομένως το επίπεδο αυτό έχει συνολικό κόστος c/ ) = c. Στο χαμηλότερο επίπεδο υπάρχουν κόμβοι, καθένας από τους οποίους συνεισφέρει κόστος c, οπότε το συνολικό κόστος του επιπέδου αυτού είναι c Συνεπώς το κόστος σε κάθε επίπεδο παραμένει το ίδιο. Το ύψος του δένδρου αναδρομής είναι log και έχει log + επίπεδα. log
76 76
77 Mergesort Qucksort 77
78 Τέλος Ενότητας
Ταξινόμηση. 1. Γρήγορη ταξινόμηση 2. Ταξινόμηση με Συγχώνευση. Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη
Ταξινόμηση. Γρήγορη ταξινόμηση. Ταξινόμηση με Συγχώνευση Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη Γρήγορη Ταξινόμηση Η γρήγορη ταξινόμηση qucksort), που αλλιώς ονομάζεται και ταξινόμηση µε διαμερισμό
Διαβάστε περισσότεραΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Ενότητα 9: Στατιστικά Διάταξης- Στατιστικά σε Μέσο Γραμμικό Χρόνο Μαρία Σατρατζέμη Τμήμα Εφαρμοσμένης Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε
Διαβάστε περισσότεραΤαξινόμηση. 1. Στατιστικά Διάταξης 2. Στατιστικά σε Μέσο Γραμμικό Χρόνο. Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη
Ταξινόμηση. Στατιστικά Διάταξης. Στατιστικά σε Μέσο Γραμμικό Χρόνο Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη Στατιστικά Διάταξης Με τον όρο στατιστικά διάταξης (order statistics) εννοούμε την περίπτωση
Διαβάστε περισσότεραΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Ενότητα 6β: Ταξινόμηση με εισαγωγή και επιλογή Μαρία Σατρατζέμη Τμήμα Εφαρμοσμένης Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creatve
Διαβάστε περισσότεραΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Ενότητα 6α: Αναζήτηση Μαρία Σατρατζέμη Τμήμα Εφαρμοσμένης Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commos. Για εκπαιδευτικό
Διαβάστε περισσότεραΔιάλεξη 09: Αλγόριθμοι Ταξινόμησης I
Διάλεξη 09: Αλγόριθμοι Ταξινόμησης I Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Οι αλγόριθμοι ταξινόμησης: Α. SelectoSort Ταξινόμηση με Επιλογή Β. IsertoSort Ταξινόμηση με Εισαγωγή Γ. MergeSort
Διαβάστε περισσότεραΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Ενότητα 7β: Όρια Αλγόριθμων Ταξινόμησης Μαρία Σατρατζέμη Τμήμα Εφαρμοσμένης Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commos.
Διαβάστε περισσότεραΑναζήτηση. 1. Σειριακή αναζήτηση 2. Δυαδική Αναζήτηση. Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη
Αναζήτηση. Σειριακή αναζήτηση. Δυαδική Αναζήτηση Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη Παραδοχή Στη συνέχεια των διαφανειών (διαλέξεων) η ασυμπτωτική έκφραση (συμβολισμός Ο, Ω, Θ) του χρόνου
Διαβάστε περισσότεραΑλγόριθμοι Ταξινόμησης Μέρος 2
Αλγόριθμοι Ταξινόμησης Μέρος 2 Μανόλης Κουμπαράκης 1 Προχωρημένοι Αλγόριθμοι Ταξινόμησης Στη συνέχεια θα παρουσιάσουμε τρείς προχωρημένους αλγόριθμους ταξινόμησης: treesort, quicksort και mergesort. 2
Διαβάστε περισσότεραΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Ενότητα 4: Αναδρομικές σχέσεις και ανάλυση αλγορίθμων Μαρία Σατρατζέμη Τμήμα Εφαρμοσμένης Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης
Διαβάστε περισσότεραΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Ενότητα 13: Αλγόριθμοι-Μεγάλων ακεραίων- Εκθετοποίηση- Πολλαπλασιασμός πινάκων -Strassen Μαρία Σατρατζέμη Τμήμα Εφαρμοσμένης Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό
Διαβάστε περισσότεραΤαξινόμηση. 1. Ταξινόμηση με Εισαγωγή 2. Ταξινόμηση με Επιλογή. Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη
Ταξινόμηση. Ταξινόμηση με Εισαγωγή. Ταξινόμηση με Επιλογή Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη Ταξινόμηση Η ταξινόμηση sortg τοποθετεί ένα σύνολο κόμβων ή εγγραφών σε μία συγκεκριμένη διάταξη
Διαβάστε περισσότεραΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Ενότητα 8β: Ταξινόμηση-Ταξινόμηση του Shell Μαρία Σατρατζέμη Τμήμα Εφαρμοσμένης Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative
Διαβάστε περισσότεραΤαχεία Ταξινόμηση Quick-Sort
Ταχεία Ταξινόμηση Quc-Sort 7 4 9 6 2 2 4 6 7 9 4 2 2 4 7 9 7 9 2 2 9 9 Δομές Δεδομένων και Αλγόριθμοι Εργαστήριο Γνώσης και Ευφυούς Πληροφορικής 1 Outlne Quc-sort Αλγόριθμος Βήμα διαχωρισμού Δένδρο Quc-sort
Διαβάστε περισσότεραΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Ενότητα 8α: Ταξινόμηση-Σύγκριση αλγορίθμων ταξινόμησης Μαρία Σατρατζέμη Τμήμα Εφαρμοσμένης Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης
Διαβάστε περισσότεραΤίτλος Μαθήματος: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ
Τίτλος Μαθήματος: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Ενότητα 5: Ασκήσεις Μαρία Σατρατζέμη Τμήμα Εφαρμοσμένης Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.
Διαβάστε περισσότεραΑλγόριθμοι και πολυπλοκότητα Συγχωνευτική Ταξινόμηση
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Αλγόριθμοι και πολυπλοκότητα Συγχωνευτική Ταξινόμηση Ιωάννης Τόλλης Τμήμα Επιστήμης Υπολογιστών Συγχωνευτική Ταξινόμηση (Merge Sort) 7 2 9 4 2 4 7 9 7 2 2 7 9 4
Διαβάστε περισσότεραΤαξινόμηση με συγχώνευση Merge Sort
Ταξινόμηση με συγχώνευση Merge Sort 7 2 9 4 2 4 7 9 7 2 2 7 9 4 4 9 7 7 2 2 9 9 4 4 Πληροφορικής 1 Διαίρει και Βασίλευε Η μέθοδος του «Διαίρει και Βασίλευε» είναι μια γενική αρχή σχεδιασμού αλγορίθμων
Διαβάστε περισσότεραΑλγόριθμοι και πολυπλοκότητα Διαίρει και Κυρίευε
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Αλγόριθμοι και πολυπλοκότητα Διαίρει και Κυρίευε Ιωάννης Τόλλης Τμήμα Επιστήμης Υπολογιστών Διαίρει και Κυρίευε 7 9 4 4 7 9 7 7 9 4 4 9 7 7 9 9 4 4 Διαίρει και Κυρίευε
Διαβάστε περισσότεραΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ. Ταξινόµηση Mergesort Κεφάλαιο 8. Ε. Μαρκάκης Επίκουρος Καθηγητής
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ Ταξινόµηση Mergesort Κεφάλαιο 8 Ε. Μαρκάκης Επίκουρος Καθηγητής Περίληψη Ταξινόµηση µε συγχώνευση Αλγόριθµος Mergesort Διµερής συγχώνευση Αφηρηµένη επιτόπου συγχώνευση Αναλυτική ταξινόµηση
Διαβάστε περισσότερα3 ΑΝΑ ΡΟΜΗ ΑΝΑΖΗΤΗΣΗ - ΤΑΞΙΝΟΜΗΣΗ. n! = 1*2*3*..(n-1)*n. n! = 1 αν n = 0, = n*(n-1)! αν n > ΑΝΑ ΡΟΜΗ Εισαγωγή
3 ΑΝΑ ΡΟΜΗ ΑΝΑΖΗΤΗΣΗ - ΤΑΞΙΝΟΜΗΣΗ 3.1 ΑΝΑ ΡΟΜΗ 3.1.1 Εισαγωγή ΕΦΑΡΜΟΣΜΕΝΗ ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ Αναδροµή είναι η µέθοδος κατά την οποία, σε µία γλώσσα προγραµµατισµού, µία διαδικασία ή συνάρτηση έχει την δυνατότητα
Διαβάστε περισσότεραΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Ενότητα 3: Ασυμπτωτικός συμβολισμός Μαρία Σατρατζέμη Τμήμα Εφαρμοσμένης Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.
Διαβάστε περισσότεραΔιάλεξη 09: Αλγόριθμοι Ταξινόμησης I
Διάλεξη 09: Αλγόριθμοι Ταξινόμησης I Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Οι αλγόριθμοι ταξινόμησης: Α. SelectionSort Ταξινόμηση με Επιλογή Β. InsertionSort Ταξινόμηση με Εισαγωγή
Διαβάστε περισσότεραΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 4. Παραδείγματα Ανάλυσης Πολυπλοκότητας Ανάλυση Αναδρομικών Αλγόριθμων
ΕΠΛ31 Δομές Δεδομένων και Αλγόριθμοι 4. Παραδείγματα Ανάλυσης Πολυπλοκότητας Ανάλυση Αναδρομικών Αλγόριθμων Διάλεξη 04: Παραδείγματα Ανάλυσης Πολυπλοκότητας/Ανάλυση Αναδρομικών Αλγόριθμων Στην ενότητα
Διαβάστε περισσότεραΔιάλεξη 04: Παραδείγματα Ανάλυσης
Διάλεξη 04: Παραδείγματα Ανάλυσης Πολυπλοκότητας/Ανάλυση Αναδρομικών Αλγόριθμων Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Παραδείγματα Ανάλυσης Πολυπλοκότητας : Μέθοδοι, παραδείγματα
Διαβάστε περισσότερα5. Απλή Ταξινόμηση. ομές εδομένων. Χρήστος ουλκερίδης. Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων
Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 5. Απλή Ταξινόμηση 2 ομές εδομένων 4 5 Χρήστος ουλκερίδης Τμήμα Ψηφιακών Συστημάτων 11/11/2016 Εισαγωγή Η
Διαβάστε περισσότεραΕπιλογή. ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών
Επιλογή ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται
Διαβάστε περισσότεραΟυρές Προτεραιότητας: Υπενθύμιση. Σωροί / Αναδρομή / Ταξινόμηση. Υλοποίηση Σωρού. Σωρός (Εισαγωγή) Ορέστης Τελέλης
Ουρές Προτεραιότητας: Υπενθύμιση Σωροί / Αναδρομή / Ταξινόμηση Ορέστης Τελέλης telelis@unipi.gr Τμήμα Ψηφιακών Συστημάτων, Πανεπιστήμιο Πειραιώς (Abstract Data Type) με μεθόδους: Μπορεί να υλοποιηθεί με
Διαβάστε περισσότεραΔιάλεξη 04: Παραδείγματα Ανάλυσης Πολυπλοκότητας/Ανάλυση Αναδρομικών Αλγόριθμων
Διάλεξη 04: Παραδείγματα Ανάλυσης Πολυπλοκότητας/Ανάλυση Αναδρομικών Αλγόριθμων Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Παραδείγματα Ανάλυσης Πολυπλοκότητας : Μέθοδοι, παραδείγματα
Διαβάστε περισσότεραΕισαγωγή στην Ανάλυση Αλγορίθμων
Εισαγωγή στην Ανάλυση Αλγορίθμων (4) Μεθοδολογία αναδρομικών σχέσεων (Ι) Με επανάληψη της αναδρομής Έστω όπου r και a είναι σταθερές. Βρίσκουμε τη σχέση που εκφράζει την T(n) συναρτήσει της T(n-) την T(n)
Διαβάστε περισσότεραΕισ. Στην ΠΛΗΡΟΦΟΡΙΚΗ. Διάλεξη 7 η. Βασίλης Στεφανής
Εισ. Στην ΠΛΗΡΟΦΟΡΙΚΗ Διάλεξη 7 η Βασίλης Στεφανής Αλγόριθμοι ταξινόμησης Στην προηγούμενη διάλεξη είδαμε: Binary search Λειτουργεί μόνο σε ταξινομημένους πίνακες Πώς τους ταξινομούμε? Πολλοί τρόποι. Ενδεικτικά:
Διαβάστε περισσότεραΑλγόριθμοι και Πολυπλοκότητα
Αλγόριθμοι και Πολυπλοκότητα Διαίρει και Βασίλευε Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Διαίρει και Βασίλευε Divide and Conquer Η τεχνική διαίρει και βασίλευε αναφέρεται
Διαβάστε περισσότεραΑλγόριθμοι Ταξινόμησης Bubble Sort Quick Sort. Αντρέας Δημοσθένους Καθηγητής Πληροφορικής Ολυμπιάδα 2012
Αλγόριθμοι Ταξινόμησης Bubble Sort Quick Sort Αντρέας Δημοσθένους Καθηγητής Πληροφορικής Ολυμπιάδα 2012 3 5 1 Ταξινόμηση - Sorting Πίνακας Α 1 3 5 5 3 1 Ταξινόμηση (Φθίνουσα) Χωρίς Ταξινόμηση Ταξινόμηση
Διαβάστε περισσότεραΥπολογιστικά & Διακριτά Μαθηματικά
Υπολογιστικά & Διακριτά Μαθηματικά Ενότητα 1: Εισαγωγή- Χαρακτηριστικά Παραδείγματα Αλγορίθμων Στεφανίδης Γεώργιος Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.
Διαβάστε περισσότεραΕπιμέλεια διαφανειών: Δ. Φωτάκης Τροποποιήσεις-προσθήκες: Α. Παγουρτζής. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών
Διαίρει-και-Βασίλευε Επιμέλεια διαφανειών: Δ. Φωτάκης Τροποποιήσεις-προσθήκες: Α. Παγουρτζής Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Διαίρει-και-Βασίλευε Γενική
Διαβάστε περισσότεραΔομές Δεδομένων. Δημήτρης Μιχαήλ. Ταξινόμηση. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο
Δομές Δεδομένων Ταξινόμηση Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Το πρόβλημα Είσοδος n αντικείμενα a 1, a 2,..., a n με κλειδιά (συνήθως σε ένα πίνακα, ή λίστα, κ.τ.λ)
Διαβάστε περισσότεραΥπολογιστικά & Διακριτά Μαθηματικά
Υπολογιστικά & Διακριτά Μαθηματικά Ενότητα 5: Αναδρομικές σχέσεις - Υπολογισμός Αθροισμάτων Στεφανίδης Γεώργιος Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για
Διαβάστε περισσότεραΔιδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ
Διάλεξη 14: Αλγόριθμοι Ταξινόμησης Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Οι αλγόριθμοι ταξινόμησης 3) Mergesort Ταξινόμηση με Συγχώνευση 4) BucketSort Ταξινόμηση με Κάδους Διδάσκων:
Διαβάστε περισσότεραΔιαίρει-και-Βασίλευε. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Διαίρει-και-Βασίλευε 2
Διαίρει-και-Βασίλευε Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Διαίρει-και-Βασίλευε 2 Διαίρει-και-Βασίλευε Γενική µέθοδος σχεδιασµού αλγορίθµων: Διαίρεση σε ( 2) υποπροβλήµατα (σηµαντικά) µικρότερου µεγέθους.
Διαβάστε περισσότεραΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Δομές Δεδομένων. Ιωάννης Γ. Τόλλης Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Δομές Δεδομένων Ιωάννης Γ. Τόλλης Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού
Διαβάστε περισσότεραΕιδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων
Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων Άσκηση 1 α) Η δομή σταθμισμένης ένωσης με συμπίεση διαδρομής μπορεί να τροποποιηθεί πολύ εύκολα ώστε να υποστηρίζει τις
Διαβάστε περισσότεραQuicksort. ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών
Quicksort ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται
Διαβάστε περισσότεραΑναδρομικές Σχέσεις «ιαίρει-και-βασίλευε»
Αναδρομικές Σχέσεις «ιαίρει-και-βασίλευε» ιδάσκοντες: Φ. Αφράτη,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο ιαίρει-και-βασίλευε
Διαβάστε περισσότεραΣχεδίαση και Ανάλυση Αλγορίθμων
Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 4.0 Επιλογή Αλγόριθμοι Επιλογής Select και Quick-Select Σταύρος Δ. Νικολόπουλος 2016-17 Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Ιωαννίνων Webpage: www.cs.uoi.gr/~stavros
Διαβάστε περισσότεραιαίρει-και-βασίλευε ημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο
ιαίρει-και-βασίλευε ημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο ιαίρει-και-βασίλευε Γενική μέθοδος σχεδιασμού αλγορίθμων: ιαίρεση σε ( 2) υποπροβλήματα
Διαβάστε περισσότεραΑΝΑΓΝΩΡΙΣΗ ΠΡΟΤΥΠΩΝ. ΕΝΟΤΗΤΑ: Γραμμικές Συναρτήσεις Διάκρισης. ΔΙΔΑΣΚΟΝΤΕΣ: Βλάμος Π. Αυλωνίτης Μ. ΙΟΝΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ
ΑΝΑΓΝΩΡΙΣΗ ΠΡΟΤΥΠΩΝ ΕΝΟΤΗΤΑ: Γραμμικές Συναρτήσεις Διάκρισης ΙΟΝΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΔΙΔΑΣΚΟΝΤΕΣ: Βλάμος Π. Αυλωνίτης Μ. Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης
Διαβάστε περισσότεραΌρια Αλγόριθμων Ταξινόμησης. Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη
Όρια Αλγόριθμων Ταξινόμησης Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη Όρια Αλγόριθμων Ταξινόμησης Μέχρι στιγμής εξετάσθηκαν μέθοδοι ταξινόμησης µε πολυπλοκότητα της τάξης Θ ) ή Θlog ). Τι εκφράζει
Διαβάστε περισσότεραΔιαίρει-και-Βασίλευε. Διαίρει-και-Βασίλευε. MergeSort. MergeSort. Πρόβλημα Ταξινόμησης: Είσοδος : ακολουθία n αριθμών (α 1
Διαίρει-και-Βασίλευε Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Διαίρει-και-Βασίλευε Γενική μέθοδος
Διαβάστε περισσότεραΑλγόριθμοι και Δομές Δεδομένων (Ι) (εισαγωγικές έννοιες)
Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2015-16 Αλγόριθμοι και Δομές Δεδομένων (Ι) (εισαγωγικές έννοιες) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Τι είναι
Διαβάστε περισσότεραΣχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 6: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ: ΠΡΟΒΛΗΜΑ ΑΝΑΖΗΤΗΣΗΣ
Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 6: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ: ΠΡΟΒΛΗΜΑ ΑΝΑΖΗΤΗΣΗΣ Δημήτριος Κουκόπουλος Σχολή Οργάνωσης και Διοίκησης Επιχειρήσεων Τμήμα Διαχείρισης Πολιτισμικού Περιβάλλοντος
Διαβάστε περισσότεραΔοµές Δεδοµένων. 10η Διάλεξη Ταξινόµηση. E. Μαρκάκης
Δοµές Δεδοµένων 10η Διάλεξη Ταξινόµηση E. Μαρκάκης Περίληψη Ταξινόµηση µε αριθµοδείκτη κλειδιού Ταξινόµηση µε συγχώνευση Αλγόριθµος Mergesort Διµερής συγχώνευση Αφηρηµένη επιτόπου συγχώνευση Αναλυτική
Διαβάστε περισσότεραΑλγόριθμοι και πολυπλοκότητα Ταχυταξινόμηση (Quick-Sort)
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Αλγόριθμοι και πολυπλοκότητα Ταχυταξινόμηση (Quick-Sort) Ιωάννης Τόλλης Τμήμα Επιστήμης Υπολογιστών Ταχυταξινόμηση (Quick-Sort) 7 4 9 6 2 2 4 6 7 9 4 2 2 4 7 9 7
Διαβάστε περισσότεραΔιάλεξη 19: Αλγόριθμοι ΤαξινόμησηςII. Διδάσκων: Παναγιώτης Ανδρέου
Διάλεξη 19: Αλγόριθμοι ΤαξινόμησηςII Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Οι αλγόριθμοι ταξινόμησης: Γ. MergeSort Ταξινόμηση με Συγχώνευση Δ. BucketSort Ταξινόμηση με Κάδους Διδάσκων:
Διαβάστε περισσότεραΤι είναι αλγόριθμος; Υποπρογράμματα (υποαλγόριθμοι) Βασικές αλγοριθμικές δομές
Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2015-16 Αλγόριθμοι και Δομές Δεδομένων (Ι) (εισαγωγικές έννοιες) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Τι είναι
Διαβάστε περισσότεραΣχεδίαση Αλγορίθμων -Τμήμα Πληροφορικής ΑΠΘ - Εξάμηνο 4ο
Πολλαπλασιασμός μεγάλων ακεραίων (1) Για να πολλαπλασιάσουμε δύο ακεραίους με n 1 και n 2 ψηφία με το χέρι, θα εκτελέσουμε n 1 n 2 πράξεις πολλαπλασιασμού Πρόβλημα ρβημ όταν έχουμε πολλά ψηφία: A = 12345678901357986429
Διαβάστε περισσότεραΕισαγωγή στους Αλγόριθμους
Εισαγωγή στους Αλγόριθμους Ενότητα 16: Δυαδική αναζήτηση και ταξινόμηση με συγχώνευση Εύη Παπαϊωάννου Σχολή Οργάνωσης και Διοίκησης Επιχειρήσεων Τμήμα Διαχείρισης Πολιτισμικού Περιβάλλοντος και Νέων Τεχνολογιών
Διαβάστε περισσότεραΠροχωρημένες έννοιες προγραμματισμού σε C
Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Διδάσκοντες: Στάθης Ζάχος (zachos@cs.ntua.gr) Νίκος Παπασπύρου (nickie@softlab.ntua.gr)
Διαβάστε περισσότεραΔομές Δεδομένων. Καθηγήτρια Μαρία Σατρατζέμη. Τμήμα Εφαρμοσμένης Πληροφορικής. Δομές Δεδομένων. Τμήμα Εφαρμοσμένης Πληροφορικής
Ενότητα 8: Γραμμική Αναζήτηση και Δυαδική Αναζήτηση-Εισαγωγή στα Δέντρα και Δυαδικά Δέντρα-Δυαδικά Δέντρα Αναζήτησης & Υλοποίηση ΔΔΑ με δείκτες Καθηγήτρια Μαρία Σατρατζέμη Άδειες Χρήσης Το παρόν εκπαιδευτικό
Διαβάστε περισσότεραΕισαγωγή στους Αλγορίθμους Φροντιστήριο 1
Εισαγωγή στους Αλγορίθμους Φροντιστήριο 1 Διδάσκων Χρήστος Ζαρολιάγκης Καθηγητής Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Πατρών Email: zaro@ceid.upatras.gr Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό
Διαβάστε περισσότεραΣχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 9: ΒΑΣΙΚΕΣ ΤΕΧΝΙΚΕΣ ΣΧΕΔΙΑΣΜΟΥ ΚΑΙ ΑΝΑΛΥΣΗΣ ΑΛΓΟΡΙΘΜΩΝ ΕΞΙΣΟΡΡΟΠΗΣΗ, ΔΙΑΙΡΕΙ ΚΑΙ ΒΑΣΙΛΕΥΕ
Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 9: ΒΑΣΙΚΕΣ ΤΕΧΝΙΚΕΣ ΣΧΕΔΙΑΣΜΟΥ ΚΑΙ ΑΝΑΛΥΣΗΣ ΑΛΓΟΡΙΘΜΩΝ ΕΞΙΣΟΡΡΟΠΗΣΗ, ΔΙΑΙΡΕΙ ΚΑΙ ΒΑΣΙΛΕΥΕ Δημήτριος Κουκόπουλος Σχολή Οργάνωσης και Διοίκησης Επιχειρήσεων Τμήμα
Διαβάστε περισσότεραΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι
ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι κ. ΠΕΤΑΛΙΔΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ 1 Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται
Διαβάστε περισσότεραΠοσοτικές Μέθοδοι στη Διοίκηση Επιχειρήσεων ΙΙ Σύνολο- Περιεχόμενο Μαθήματος
Ποσοτικές Μέθοδοι στη Διοίκηση Επιχειρήσεων ΙΙ Σύνολο- Περιεχόμενο Μαθήματος Χιωτίδης Γεώργιος Τμήμα Λογιστικής και Χρηματοοικονομικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης
Διαβάστε περισσότεραΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Ενότητα 1: Εισαγωγή Μαρία Σατρατζέμη Τμήμα Εφαρμοσμένης Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό
Διαβάστε περισσότεραΔιδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ ΕΠΛ 035 Δομές Δεδομένων και Αλγόριθμοι για Ηλ. Μηχ. και Μηχ. Υπολ.
Διάλεξη : Παραδείγματα Ανάλυσης Πολυπλοκότητας / Ανάλυση Αναδρομικών Αλγόριθμων Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Παραδείγματα Ανάλυσης Πολυπλοκότητας : Μέθοδοι, 6 παραδείγματα
Διαβάστε περισσότεραΕισαγωγή στους Αλγορίθμους Φροντιστήριο 2
Εισαγωγή στους Αλγορίθμους Φροντιστήριο 2 Διδάσκων Χρήστος Ζαρολιάγκης Καθηγητής Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Πατρών Email: zaro@ceid.upatras.gr Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό
Διαβάστε περισσότεραΔιδάσκων: Παναγιώτης Ανδρέου
Διάλεξη 04: ΠαραδείγματαΑνάλυσης Πολυπλοκότητας/Ανάλυση Αναδρομικών Αλγόριθμων Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: -Παραδείγματα Ανάλυσης Πολυπλοκότητας : Μέθοδοι, παραδείγματα -Γραμμική
Διαβάστε περισσότεραΔιαδικασιακός Προγραμματισμός
Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 12 η Αναζήτηση/Ταξινόμηση Πίνακα Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα C: Από τη Θεωρία στην
Διαβάστε περισσότεραΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Ενότητα 11: Minimum Spanning Trees Αλγόριθμος Prim Αλγόριθμος Kruskal Μαρία Σατρατζέμη Τμήμα Εφαρμοσμένης Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται
Διαβάστε περισσότεραΤαξινόμηση. Παύλος Εφραιμίδης. Δομές Δεδομένων Ταξινόμηση 1
Ταξινόμηση Παύλος Εφραιμίδης Δομές Δεδομένων Ταξινόμηση 1 Το πρόβλημα της ταξινόμησης Δομές Δεδομένων Ταξινόμηση 2 Ταξινόμηση Δίνεται πολυ-σύνολο Σ με στοιχεία από κάποιο σύμπαν U (πχ. U = το σύνολο των
Διαβάστε περισσότεραQuicksort. Πρόβλημα Ταξινόμησης. Μέθοδοι Ταξινόμησης. Συγκριτικοί Αλγόριθμοι
Πρόβλημα Ταξινόμησης Quicksort Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Είσοδος : ακολουθία n αριθμών (α 1, α 2,..., α n
Διαβάστε περισσότεραΜαθηματικά. Ενότητα 6: Ασκήσεις Ορίων Συνάρτησης. Σαριαννίδης Νικόλαος Τμήμα Λογιστικής και Χρηματοοικονομικής
Μαθηματικά Ενότητα 6: Ασκήσεις Ορίων Συνάρτησης Σαριαννίδης Νικόλαος Τμήμα Λογιστικής και Χρηματοοικονομικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό
Διαβάστε περισσότεραΣύνοψη Προηγούμενου. Πίνακες (Arrays) Πίνακες (Arrays): Βασικές Λειτουργίες. Πίνακες (Arrays) Ορέστης Τελέλης
Σύνοψη Προηγούμενου Πίνακες (Arrays Ορέστης Τελέλης telelis@unipi.gr Τμήμα Ψηφιακών Συστημάτων, Πανεπιστήμιο Πειραιώς Διαδικαστικά θέματα. Aντικείμενο Μαθήματος. Aντικείμενα, Κλάσεις, Μέθοδοι, Μεταβλητές.
Διαβάστε περισσότεραΣχεδίαση & Ανάλυση Αλγορίθμων
Σχεδίαση & Ανάλυση Αλγορίθμων Ενότητα 3 Αλγόριθμοι Επιλογής Σταύρος Δ. Νικολόπουλος Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Ιωαννίνων Webpage: www.cs.uoi.gr/~stavros Αλγόριθμοι Επιλογής Γνωρίζουμε
Διαβάστε περισσότεραΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Δομές Δεδομένων. Ιωάννης Γ. Τόλλης Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Δομές Δεδομένων Ιωάννης Γ. Τόλλης Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού
Διαβάστε περισσότεραΑλγόριθμοι Ταξινόμησης
8 Αλγόριθμοι Ταξινόμησης Περιεχόμενα Κεφαλαίου 8.1 Ταξινόμηση με Εισαγωγή.................. 225 8.2 Ταξινόμηση με Επιλογή................... 226 8.3 Γρήγορη Ταξινόμηση.................... 229 8.4 Στατιστικά
Διαβάστε περισσότεραΔομημένος Προγραμματισμός
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Δομημένος Προγραμματισμός Ενότητα: Συναρτήσεις θεωρία Δ. Ε. Μετάφας Τμ. Ηλεκτρονικών Μηχ. Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό
Διαβάστε περισσότερα1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες εντολές (μορφές) της;
1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες (μορφές) της; Η δομή επανάληψης χρησιμοποιείται όταν μια σειρά εντολών πρέπει να εκτελεστεί σε ένα σύνολο περιπτώσεων, που έχουν κάτι
Διαβάστε περισσότεραΔΥΑΔΙΚΗ ΑΝΑΖΗΤΗΣΗ & ΤΑΞΙΝΟΜΗΣΗ ΜΕ ΣΥΓΧΩΝΕΥΣΗ
ΔΥΑΔΙΚΗ ΑΝΑΖΗΤΗΣΗ & ΤΑΞΙΝΟΜΗΣΗ ΜΕ ΣΥΓΧΩΝΕΥΣΗ (ΑΛΓΟΡΙΘΜΟΙ, Sanjoy Dasgupta, Christos Papadimitriou, Umesh Vazirani, σελ. 55-62 ΣΧΕΔΙΑΣΜΟΣ ΑΛΓΟΡΙΘΜΩΝ, Jon Kleinberg, Eva Tardos, Κεφάλαιο 5) Δυαδική αναζήτηση
Διαβάστε περισσότεραΠανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων
Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 2. Πίνακες 45 23 28 95 71 19 30 2 ομές εδομένων 4 5 Χρήστος ουλκερίδης Τμήμα Ψηφιακών Συστημάτων 12/10/2017
Διαβάστε περισσότεραΣτατιστική Επιχειρήσεων
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Στατιστική Επιχειρήσεων Ενότητα # 2: Στατιστικοί Πίνακες Εβελίνα Κοσσιέρη Τμήμα Λογιστικής και Χρηματοοικονομικής Άδειες Χρήσης
Διαβάστε περισσότεραΔομές Δεδομένων. Ενότητα 2: Στοίβες Εισαγωγή-Υλοποίηση ΑΤΔ Στοίβα με Πίνακα-Εφαρμογή Στοίβας: Αντίστροφη Πολωνική Γραφή. Καθηγήτρια Μαρία Σατρατζέμη
Ενότητα 2: Στοίβες Εισαγωγή-Υλοποίηση ΑΤΔ Στοίβα με Πίνακα-Εφαρμογή Στοίβας: Αντίστροφη Πολωνική Γραφή Καθηγήτρια Μαρία Σατρατζέμη Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative
Διαβάστε περισσότεραΠανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων
Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 2. Πίνακες 45 23 28 95 71 19 30 2 ομές εδομένων 4 5 Χρήστος ουλκερίδης Τμήμα Ψηφιακών Συστημάτων 21/10/2016
Διαβάστε περισσότεραΔομές Δεδομένων. Ενότητα 13: B-Δέντρα/AVL-Δέντρα. Καθηγήτρια Μαρία Σατρατζέμη. Τμήμα Εφαρμοσμένης Πληροφορικής. Δομές Δεδομένων
Ενότητα 13: B-Δέντρα/AVL-Δέντρα Καθηγήτρια Μαρία Σατρατζέμη Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε
Διαβάστε περισσότεραΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ : Γ ΛΥΚΕΙΟΥ ΣΠΟΥΔΕΣ ΟΙΚΟΝΟΜΙΑΣ & ΠΛΗΡΟΦΟΡΙΚΗΣ
ΑΡΧΗ 1ης ΣΕΛΙ ΑΣ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ : Γ ΛΥΚΕΙΟΥ ΣΠΟΥΔΕΣ ΟΙΚΟΝΟΜΙΑΣ & ΠΛΗΡΟΦΟΡΙΚΗΣ ΔΙΑΓΩΝΙΣΜΑ ΠΕΡΙΟΔΟΥ : ΦΕΒΡΟΥΑΡΙΟΥ ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ : 7 ΘΕΜΑ Α :
Διαβάστε περισσότεραΤαξινόμηση: Εισαγωγικά. Ταξινόμηση (Sor ng) Αλγόριθμοι Απλής Ταξινόμησης. Βασικά Βήματα των Αλγορίθμων
Ταξινόμηση: Εισαγωγικά Ταξινόμηση (Sor ng) Ορέστης Τελέλης Βασικό πρόβλημα για την Επιστήμη των Υπολογιστών. π.χ. αλφαβητική σειρά, πωλήσεις ανά τιμή, πόλεις με βάση πληθυσμό, Μπορεί να είναι ένα πρώτο
Διαβάστε περισσότεραΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι
ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι κ. ΠΕΤΑΛΙΔΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ 1 Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται
Διαβάστε περισσότεραΆδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ
Θεωρία Υπολογισμού Ενότητα 24: Μη Ντεντερμινιστικές Μηχανές Turing Τμήμα Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως
Διαβάστε περισσότεραΑλγόριθμοι Ταξινόμησης Μέρος 4
Αλγόριθμοι Ταξινόμησης Μέρος 4 Μανόλης Κουμπαράκης Δομές Δεδομένων και Τεχνικές 1 Μέθοδοι Ταξινόμησης Βασισμένοι σε Συγκρίσεις Κλειδιών Οι αλγόριθμοι ταξινόμησης που είδαμε μέχρι τώρα αποφασίζουν πώς να
Διαβάστε περισσότεραΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 8 Ο. Ταξινόμηση και Αναζήτηση Συναρτήσεις χειρισμού οθόνης ΣΙΝΑΤΚΑΣ Ι. ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 8 Ο Ταξινόμηση και Αναζήτηση Συναρτήσεις χειρισμού οθόνης ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ 2010-11 1 Εισαγωγή Η τακτοποίηση των δεδομένων με ιδιαίτερη σειρά είναι πολύ σημαντική λειτουργία που ονομάζεται
Διαβάστε περισσότεραΆδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ
Θεωρία Υπολογισμού Ενότητα 12: Κανονικότητα ή μη των γλωσσών Τμήμα Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες,
Διαβάστε περισσότεραΑλγόριθμοι ταξινόμησης
Αλγόριθμοι Ταξινόμησης Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Οι αλγόριθμοι ταξινόμησης BuubleSort, SelectionSort, InsertionSort, Merger Sort, Quick Soft ΕΠΛ Δομές Δεδομένων και Αλγόριθμοι
Διαβάστε περισσότεραΠροβλήματα, αλγόριθμοι, ψευδοκώδικας
Προβλήματα, αλγόριθμοι, ψευδοκώδικας October 11, 2011 Στο μάθημα Αλγοριθμική και Δομές Δεδομένων θα ασχοληθούμε με ένα μέρος της διαδικασίας επίλυσης υπολογιστικών προβλημάτων. Συγκεκριμένα θα δούμε τι
Διαβάστε περισσότεραΣΤΑΤΙΣΤΙΚΗ ΕΠΙΧΕΙΡΗΣΕΩΝ
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα ΣΤΑΤΙΣΤΙΚΗ ΕΠΙΧΕΙΡΗΣΕΩΝ Ενότητα # 3: Αριθμητικά Περιγραφικά Μέτρα Εβελίνα Κοσσιέρη Τμήμα Λογιστικής και Χρηματοοικονομικής ΑΔΕΙΕΣ
Διαβάστε περισσότεραΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΦΡΟΝΤΙΣΤΗΡΙΟ ΑΛΓΟΡΙΘΜΩΝ ΒΟΗΘΟΣ: ΒΑΓΓΕΛΗΣ ΔΟΥΡΟΣ
1 ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΦΡΟΝΤΙΣΤΗΡΙΟ ΑΛΓΟΡΙΘΜΩΝ ΒΟΗΘΟΣ: ΒΑΓΓΕΛΗΣ ΔΟΥΡΟΣ Φροντιστήριο #10: Αλγόριθμοι Διαίρει & Βασίλευε: Master Theorem, Αλγόριθμοι Ταξινόμησης, Πιθανοτικός
Διαβάστε περισσότεραεπιστρέφει το αμέσως μεγαλύτερο από το x στοιχείο του S επιστρέφει το αμέσως μικρότερο από το x στοιχείο του S
Μελετάμε την περίπτωση όπου αποθηκεύουμε ένα (δυναμικό) σύνολο στοιχειών,, τα οποίo είναι υποσύνολο του. Υποστηριζόμενες λειτουργίες αναζήτηση(s,x): εισαγωγή(s,x): διαγραφή(s,x): διάδοχος(s,x): προκάτοχος(s,x):
Διαβάστε περισσότεραΠρογραμματισμός Η/Υ. Αναζήτηση & Ταξινόμηση. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος
Προγραμματισμός Η/Υ Αναζήτηση & Ταξινόμηση ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος Αναζήτηση Το πρόβλημα της αναζήτησης (searching) ενός στοιχείου σε
Διαβάστε περισσότεραΔιδάσκων: Παναγιώτης Ανδρέου
Διάλεξη 6: ΠαραδείγματαΑνάλυσης Πολυπλοκότητας/Ανάλυση Αναδρομικών Αλγόριθμων Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: -Παραδείγματα Ανάλυσης Πολυπλοκότητας : Μέθοδοι, παραδείγματα -Γραμμική
Διαβάστε περισσότερα8. Σωροί (Heaps)-Αναδρομή- Προχωρημένη Ταξινόμηση
Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 8. Σωροί (Heaps)-Αναδρομή- Προχωρημένη Ταξινόμηση 2 ομές εδομένων 4 5 Χρήστος ουλκερίδης Τμήμα Ψηφιακών Συστημάτων
Διαβάστε περισσότεραΑναδρομή Ανάλυση Αλγορίθμων
Αναδρομή Ανάλυση Αλγορίθμων Παράδειγμα: Υπολογισμός του παραγοντικού Ορισμός του n! n! = n x (n - 1) x x 2 x 1 Ο παραπάνω ορισμός μπορεί να γραφεί ως n! = 1 αν n = 0 n x (n -1)! αλλιώς Παράδειγμα (συνέχ).
Διαβάστε περισσότεραΟικονομικά Μαθηματικά
Οικονομικά Μαθηματικά Ενότητα 8: Πρόσκαιρες Ράντες Σαριαννίδης Νικόλαος Τμήμα Διοίκησης Επιχειρήσεων (Κοζάνη) Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για
Διαβάστε περισσότερα