Ταξινόμηση: Εισαγωγικά. Ταξινόμηση (Sor ng) Αλγόριθμοι Απλής Ταξινόμησης. Βασικά Βήματα των Αλγορίθμων
|
|
- Ἡρόδοτος Κοτζιάς
- 6 χρόνια πριν
- Προβολές:
Transcript
1 Ταξινόμηση: Εισαγωγικά Ταξινόμηση (Sor ng) Ορέστης Τελέλης Βασικό πρόβλημα για την Επιστήμη των Υπολογιστών. π.χ. αλφαβητική σειρά, πωλήσεις ανά τιμή, πόλεις με βάση πληθυσμό, Μπορεί να είναι ένα πρώτο βήμα προς την αποδοτική αναζήτηση: Θυμηθείτε τη δυαδική αναζήτηση σε ταξινομημένους πίνακες. Τμήμα Ψηφιακών Συστημάτων, Πανεπιστήμιο Πειραιώς Σημαντική και πολύ χρονοβόρα: αντικείμενο εκτεταμένων ερευνών. Αναπτύχθηκαν πολλοί και διαφορετικοί αλγόριθμοι ταξινόμησης. Δείτε για παράδειγμα: h p://en.wikipedia.org/wiki/sor ng_algorithm Donald Knuth., Vol. 3: Ο. Τελέλης Πανεπιστήμιο Πειραιώς Δομές Δεδομένων 1 / 44 Ο. Τελέλης Πανεπιστήμιο Πειραιώς Δομές Δεδομένων 2 / 44 Αλγόριθμοι Απλής Ταξινόμησης Βασικά Βήματα των Αλγορίθμων Σχετικά αργοί αλγόριθμοι. Αξίζει να εξεταστούν, διότι: Κατανοούμε επακριβώς τη λειτουργία τους. Κατά περιπτώσεις πιο αποδοτικοί από πιο ταχύτερους αλγόριθμους. Π.χ., η αποδοτική για μικρή ή σχεδόν ταξινομημένη είσοδο. Ενα πρόγραμμα μπορεί μόνο (?) να δε μπορεί να έχει μια καθολική εικόνα στα δεδομένα όπως ο άνθρωπος. Εκτελεί «τοπική» εξέταση των δεδομένων. Οι τρεις αλγόριθμοι που μελετάμε εκτελούν επαναλαμβανόμενα: μεταξύ δύο στοιχείων. δύο στοιχείων ενός στοιχείου μέχρι οι συγκρίσεις στοιχείων σε διαφορετικές θέσεις να είναι «σωστές». Ο. Τελέλης Πανεπιστήμιο Πειραιώς Δομές Δεδομένων 3 / 44 Ο. Τελέλης Πανεπιστήμιο Πειραιώς Δομές Δεδομένων 4 / 44
2 1. Ταξινόμηση Φυσαλίδας (Bubble Sort) Βήματα Αλγορίθμου Ταξινόμησης Φυσαλίδας Απλή αλλά αργή επαναληπτική μέθοδος ταξινόμησης. Σε κάθε επανάληψη σαρώνει την ακολουθία των στοιχείων. Συγκρίνει κάθε στοιχείο στην ακολουθία με το επόμενο: αντιμεταθέτει τα στοιχεία αν είναι σε «λάθος» σειρά. Επαναλαμβάνει, μέχρι σε κάποια σάρωση να μη συμβεί αντιμετάθεση. Υποθέτοντας ταξινόμηση σε αύξουσα σειρά: Κάθε σάρωση εκτελείται σε ακολουθία μικρότερη κατά ένα στοιχείο. Σύγκρινε τα γειτονικά στοιχεία. Εάν το πρώτο είναι μεγαλύτερο από το δεύτερο, αντιμετάθεσέ τα. Μετακινήσου μια θέση δεξιά και επανάλαβε για όλα τα στοιχεία (ολοκλήρωση πρώτης σάρωσης). Συνέχισε μέχρι να μην υπάρχουν άλλα ζεύγη για να συγκρίνεις Ο αλγόριθμος αυτός ταξινομεί τα στοιχεία σε αύξουσα σειρά. Πώς θα τον τροποποιούσατε ώστε να ταξινομεί σε φθίνουσα σειρά? Ο. Τελέλης Πανεπιστήμιο Πειραιώς Δομές Δεδομένων 5 / 44 Ο. Τελέλης Πανεπιστήμιο Πειραιώς Δομές Δεδομένων 6 / 44 Ταξινόμηση Φυσαλίδας (Παράδειγμα 1ης Σάρωσης) Ταξινόμηση Φυσαλίδας (Παράδειγμα Εκτέλεσης) Σύγκρινε 23, Αντιμετάθεσε 23, Σύγκρινε 23, Σύγκρινε 58, Αντιμετάθεσε 58, Σύγκρινε 58, Αντιμετάθεσε 58, 10. swapped = true j := n 1 j > 0 swapped == true: swapped := false i := 1 j 1: a i > a i+1 : tmp := a i+1 a i+1 := a i a i := tmp swapped := true j := j 1. Είσοδος: 1η Σαρ.: 2η Σαρ.: 3η Σαρ.: 4η Σαρ.: a 0 a 1 a 2 a 3 a Ο. Τελέλης Πανεπιστήμιο Πειραιώς Δομές Δεδομένων 7 / 44 Ο. Τελέλης Πανεπιστήμιο Πειραιώς Δομές Δεδομένων 8 / 44
3 Υλοποίηση Ταξινόμησης Φυσαλίδας ArrayBub { [ ] a ; nelems ; ArrayBub ( max ) { a = [ max ] ; nelems = 0 ; i n s e r t ( v a l u e ) { a [ nelems ] = v a l u e ; nelems + + ; d i s p l a y ( ) { ( j = 0 ; j < nelems ; j ++) System. out. p r i n t ( a [ j ] + ) ; System. out. p r i n t l n ( ) ; Ο. Τελέλης Πανεπιστήμιο Πειραιώς Δομές Δεδομένων 9 / 44 Υλοποίηση Ταξινόμησης Φυσαλίδας b u b b l e S o r t ( ) { swapped = ; j = nelems 1; ( j > 0 && swapped == ) { swapped = ; ( i = 0 ; i < j ; i ++) ( a [ i ] > a [ i +1] ) { swap ( i, i +1) ; swapped = ; j = j 1 ; swap ( one, two ) { temp = a [ one ] ; a [ one ] = a [ two ] ; a [ two ] = temp ; Ο. Τελέλης Πανεπιστήμιο Πειραιώς Δομές Δεδομένων 10 / 44 Υλοποίηση Ταξινόμησης Φυσαλίδας Αναλλοίωτες Συνθήκες BubbleSortApp { main ( S t r i n g [ ] a r g s ) { maxsize = 100; ArrayBub a r r ; a r r = ArrayBub ( maxsize ) ; a r r. i n s e r t ( 7 7 ) ; a r r. i n s e r t ( 9 9 ) ; a r r. i n s e r t ( 4 4 ) ; a r r. i n s e r t ( 5 5 ) ; a r r. i n s e r t ( 2 2 ) ; a r r. i n s e r t ( 8 8 ) ; a r r. i n s e r t ( 1 1 ) ; a r r. i n s e r t ( 0 0 ) ; a r r. i n s e r t ( 6 6 ) ; a r r. i n s e r t ( 3 3 ) ; a r r. d i s p l a y ( ) ; a r r. b u b b l e S o r t ( ) ; a r r. d i s p l a y ( ) ; Είναι χρήσιμες για την: κατανόηση της λειτουργίας του αλγόριθμου, τυπική τεκμηρίωση της ορθότητάς του, ανάλυση της πολυπλοκότητας του αλγορίθμου, αποσφαλμάτωση (debugging) της υλοποίησης. Η αναλλοίωτη είναι ότι τα στοιχεία δεξιά του j είναι ταξινομημένα. Αυτό ισχύει καθόλη την εκτέλεση του αλγόριθμου. Ο. Τελέλης Πανεπιστήμιο Πειραιώς Δομές Δεδομένων 11 / 44 Ο. Τελέλης Πανεπιστήμιο Πειραιώς Δομές Δεδομένων 12 / 44
4 Ανάλυση Πολυπλοκότητας Αλγορίθμου Φυσαλίδας Ανάλυση Πολυπλοκότητας Αλγόριθμου Φυσαλίδας Πλήθος Συγκρίσεων: n 1. Πλήθος Αντιμεταθέσεων: 0 έως n 1. Το στοιχείο στο τέλος του πίνακα ταξινομήθηκε: δε θα μετακινηθεί ξανά. Πλήθος Συγκρίσεων: n 2. Πλήθος Αντιμεταθέσεων: 0 έως n 2. Το στοιχείο στην προτελευταία θέση ταξινομήθηκε: δε μετακινείται ξανά. Στην 1η σάρωση n 1 συγκρίσεις, στη 2η σάρωση n 2 συγκρίσεις, Αρα: (n 1) + (n 2) = n(n 1)/2 = O(n 2 ) συγκρίσεις. Στην 1η σάρωση n 1 αντιμεταθέσεις, στη 2η σάρωση n 2, Στη χειρότερη περίπτωση n(n 1)/2 = O(n 2 ) αντιμεταθέσεις. ( ) Ο. Τελέλης Πανεπιστήμιο Πειραιώς Δομές Δεδομένων 13 / 44 Ο. Τελέλης Πανεπιστήμιο Πειραιώς Δομές Δεδομένων 14 / Ταξινόμηση Επιλογής (Selec on Sort) H ταξινόμηση επιλογής βελτιώνει την ταξινόμηση φυσαλίδας: μειώνει το πλήθος των αντιμεταθέσεων από O(n 2 ) σε O(n). Βασική Ιδέα i 0 n 2 i: j μεταξύ των i,..., n 1. Αντιμεταθέτει τα στοιχεία των θέσεων i και j εφόσον χρειάζεται. Ο αριθμός συγκρίσεων παραμένει O(n 2 ). Σημαντική βελτίωση για «ογκώδη» αντιμετατιθέμενα αντικείμενα: σε υλοποιήσεις με πραγματικές «αντιγραφές» αντικειμένων. μπορεί να συμβαίνει σε υλοποιήσεις C/C++. στη Java πάντα αντιμεταθέτουμε αναφορές (διευθύνσεις μνήμης). Ο. Τελέλης Πανεπιστήμιο Πειραιώς Δομές Δεδομένων 15 / 44 i := 0 n 2: j := i t := i + 1 n 1: - a t < a j: j := t tmp := a i a i := a j a j := tmp Είσοδος: 1η Επαν.: 2η Επαν.: 3η Επαν.: 4η Επαν.: a 0 a 1 a 2 a 3 a Ο. Τελέλης Πανεπιστήμιο Πειραιώς Δομές Δεδομένων 16 / 44
5 Παράδειγμα: Ταξινόμηση Επιλογής Σύγκρινε το ελάχιστο στοιχείο (7) με το στοιχείο στη θέση 0 (23) Αντιμετάθεσε 23, Σύγκρινε το επόμενο ελάχιστο (10) με το στοιχείο στη θέση 1 (12) Αντιμετάθεσε 12, Σύγκρινε το επόμενο ελάχιστο (12) με το στοιχείο στη θέση 2 (58) Αντιμετάθεσε 58, Συγκρινε το επόμενο ελάχιστο (23) με το στοιχείο στη θέση 3 (23) Συγκρινε το επόμενο ελάχιστο (58) με το στοιχείο στη θέση 4 (58). Ο. Τελέλης Πανεπιστήμιο Πειραιώς Δομές Δεδομένων 17 / 44 Υλοποίηση Ταξινόμησης Επιλογής A r r a y S e l { [ ] a ; nelems ; A r r a y S e l ( max ) { a = [ max ] ; nelems = 0 ; i n s e r t ( v a l u e ) { a [ nelems ] = v a l u e ; nelems + + ; d i s p l a y ( ) { ( j = 0 ; j < nelems ; j ++) System. out. p r i n t ( a [ j ] + ) ; System. out. p r i n t l n ( ) ; Ο. Τελέλης Πανεπιστήμιο Πειραιώς Δομές Δεδομένων 18 / 44 Υλοποίηση Ταξινόμησης Επιλογής Υλοποίηση Ταξινόμησης Επιλογής s e l e c t i o n S o r t ( ) { ( i = 0 ; i < nelems 1; i + +) { j = i ; ( t = i + 1 ; t < nelems ; t ++) ( a [ t ] < a [ j ] ) j = t ; swap ( i, j ) ; swap ( one, two ) { temp = a [ one ] ; a [ one ] = a [ two ] ; a [ two ] = temp ; S e l e c t S o r t A p p { main ( S t r i n g [ ] a r g s ) { maxsize = 100; A r r a y S e l a r r ; a r r = A r r a y S e l ( maxsize ) ; a r r. i n s e r t ( 7 7 ) ; a r r. i n s e r t ( 9 9 ) ; a r r. i n s e r t ( 4 4 ) ; a r r. i n s e r t ( 5 5 ) ; a r r. i n s e r t ( 2 2 ) ; a r r. i n s e r t ( 8 8 ) ; a r r. i n s e r t ( 1 1 ) ; a r r. i n s e r t ( 0 0 ) ; a r r. i n s e r t ( 6 6 ) ; a r r. i n s e r t ( 3 3 ) ; a r r. d i s p l a y ( ) ; a r r. s e l e c t i o n S o r t ( ) ; a r r. d i s p l a y ( ) ; Ο. Τελέλης Πανεπιστήμιο Πειραιώς Δομές Δεδομένων 19 / 44 Ο. Τελέλης Πανεπιστήμιο Πειραιώς Δομές Δεδομένων 20 / 44
6 Ανασκόπηση Αλγόριθμου Επιλογής 3. Ταξινόμηση Παρεμβολής (Inser on Sort) i O(n 2 ) (καθορίζεται από το πλήθος των συγκρίσεων). Πολύ λιγότερες - O(n) - αντιμεταθέσεις, από τον αλγόριθμο φυσαλίδας. Για μικρό n, η ταξινόμηση επιλογής μπορεί να είναι σημαντικά ταχύτερη. Ειδικά εάν ο χρόνος που απαιτείται για μια αντιμετάθεση είναι πολύ μεγαλύτερος από το χρόνο μιας σύγκρισης. Επισκέπτεται κάθε θέση i = 0,..., n 1 της ακολουθίας εισόδου. i Διατρέχει «όπισθεν» την ακολουθία, a j a i, για j < i. Μετακινεί τα στοιχεία αυτά μία θέση «προς τα εμπρός». Εισάγει (παρεμβάλλει) το στοιχείο a i στην κενή θέση που δημιουργείται. Ο. Τελέλης Πανεπιστήμιο Πειραιώς Δομές Δεδομένων 21 / 44 Ο. Τελέλης Πανεπιστήμιο Πειραιώς Δομές Δεδομένων 22 / 44 Ταξινόμηση Παρεμβολής Παράδειγμα: Ταξινόμηση Παρεμβολής Επεξεργασία του 12. i := 1 n 1: tmp := a[i] j := i j > 0 a j 1 tmp: a j := a j 1 j = j 1 a j := tmp Είσοδος: 1η Επαν.: 2η Επαν.: 3η Επαν.: 4η Επαν.: a 0 a 1 a 2 a 3 a Μετακινούμε το 23 για να κάνουμε χώρο για το Εισάγουμε το 12 στη θέση Επεξεργασία του Μετακινούμε τα 12, 23, 58 για να κάνουμε χώρο για το Εισάγουμε το 7 στη θέση Επεξεργασία του Mετακινούμε τα 12, 23, 58, για να κάνουμε χώρο για το 10. Ο. Τελέλης Πανεπιστήμιο Πειραιώς Δομές Δεδομένων 23 / 44 Ο. Τελέλης Πανεπιστήμιο Πειραιώς Δομές Δεδομένων 24 / 44
7 Υλοποίηση Ταξινόμησης Παρεμβολής Υλοποίηση Ταξινόμησης Παρεμβολής A r r a y I n s { [ ] a ; nelems ; A r r a y I n s ( max ) { a = [ max ] ; nelems = 0 ; i n s e r t ( v a l u e ) { a [ nelems ] = v a l u e ; nelems + + ; d i s p l a y ( ) { ( j = 0 ; j < nelems ; j ++) System. out. p r i n t ( a [ j ] + ) ; System. out. p r i n t l n ( ) ; i n s e r t i o n S o r t ( ) { ( i = 1 ; i < nelems ; i + +) { temp = a [ i ] ; j = i ; ( j >0 && a [ j 1] >= temp ) { a [ j ] = a [ j 1]; j ; a [ j ] = temp ; Ο. Τελέλης Πανεπιστήμιο Πειραιώς Δομές Δεδομένων 25 / 44 Ο. Τελέλης Πανεπιστήμιο Πειραιώς Δομές Δεδομένων 26 / 44 Υλοποίηση Ταξινόμησης Παρεμβολής I n s e r t S o r t A p p { main ( S t r i n g [ ] a r g s ) { maxsize = 100; A r r a y I n s a r r ; a r r = A r r a y I n s ( maxsize ) ; a r r. i n s e r t ( 7 7 ) ; a r r. i n s e r t ( 9 9 ) ; a r r. i n s e r t ( 4 4 ) ; a r r. i n s e r t ( 5 5 ) ; a r r. i n s e r t ( 2 2 ) ; a r r. i n s e r t ( 8 8 ) ; a r r. i n s e r t ( 1 1 ) ; a r r. i n s e r t ( 0 0 ) ; a r r. i n s e r t ( 6 6 ) ; a r r. i n s e r t ( 3 3 ) ; a r r. d i s p l a y ( ) ; a r r. i n s e r t i o n S o r t ( ) ; a r r. d i s p l a y ( ) ; Ο. Τελέλης Πανεπιστήμιο Πειραιώς Δομές Δεδομένων 27 / 44 Ανασκόπηση Ταξινόμησης Παρεμβολής Στο τέλος κάθε επανάληψης, τα στοιχεία με μικρότερους δείκτες από i είναι ταξινομημένα μεταξύ τους. n 1 επαναλήψεις (διότι το i είναι από 1 έως n 1). Στην i-οστή επαν.: ολίσθηση κατά 1 θέση το πολύ i 1 στοιχείων. Περίπου ίδιο πλήθος συγκρίσεων και αντιγραφών (ολισθήσεων). Αρα, συνολικό πλήθος βημάτων: n 1 (i 1) = (n 2) = O(n 2 ) i=1 Ο. Τελέλης Πανεπιστήμιο Πειραιώς Δομές Δεδομένων 28 / 44
8 Ταξινόμηση Αντικειμένων Ταξινομούνται και σύνθετα αντικείμενα, όχι μόνο οι βασικοί τύποι. Ταξινόμηση αντικειμένων τύπου Person. Χρήση ταξινόμησης παρεμβολής (inser on sort). Αλφαβητική ταξινόμηση βάσει του επωνύμου (πεδίο lastname). Παράδειγμα Ταξινόμησης Αντικειμένων Person { S t r i n g lastname ; S t r i n g f i r s t N a m e ; age ; Person ( S t r i n g l a s t, S t r i n g f i r s t, a ) { lastname = l a s t ; f i r s t N a m e = f i r s t ; age = a ; d i s p l a y P e r s o n ( ) { System. out. p r i n t ( L a s t name : + lastname ) ; System. out. p r i n t (, F i r s t name : + f i r s t N a m e ) ; System. out. p r i n t l n (, Age : + age ) ; S t r i n g g e t L a s t ( ) { lastname ; Ο. Τελέλης Πανεπιστήμιο Πειραιώς Δομές Δεδομένων 29 / 44 Ο. Τελέλης Πανεπιστήμιο Πειραιώς Δομές Δεδομένων 30 / 44 Παράδειγμα Ταξινόμησης Αντικειμένων Παράδειγμα Ταξινόμησης Αντικειμένων ArrayInOb { Person [ ] a ; nelems ; ArrayInOb ( max ) { a = Person [ max ] ; nelems = 0 ; i n s e r t ( S t r i n g l a s t, S t r i n g f i r s t, age ) { a [ nelems ] = Person ( l a s t, f i r s t, age ) ; nelems + + ; d i s p l a y ( ) { ( j = 0 ; j < nelems ; j ++) a [ j ]. d i s p l a y P e r s o n ( ) ; i n s e r t i o n S o r t ( ) { ( i = 1 ; i < nelems ; i ++) { Person temp = a [ i ] ; j = i ; ( j >0 && a [ j 1]. g e t L a s t ( ). compareto ( temp. g e t L a s t ( ) ) >0) { a [ j ] = a [ j 1]; j ; a [ j ] = temp ; Ο. Τελέλης Πανεπιστήμιο Πειραιώς Δομές Δεδομένων 31 / 44 Ο. Τελέλης Πανεπιστήμιο Πειραιώς Δομές Δεδομένων 32 / 44
9 O b j e c t S o r t A p p { main ( S t r i n g [ ] a r g s ) { maxsize = 100; ArrayInOb a r r ; a r r = ArrayInOb ( maxsize ) ; a r r. i n s e r t ( Evans, P a t t y, 24) ; a r r. i n s e r t ( Smith, Doc, 59) ; a r r. i n s e r t ( Smith, L o r r a i n e, 37) ; a r r. i n s e r t ( Smith, P a u l, 37) ; a r r. i n s e r t ( Yee, Tom, 43) ; a r r. i n s e r t ( Hashimoto, Sato, 21) ; a r r. i n s e r t ( Stimson, Henry, 29) ; a r r. i n s e r t ( V e l a s q u e z, J o s e, 72) ; System. out. p r i n t l n ( Before s o r t i n g : ) ; a r r. d i s p l a y ( ) ; a r r. i n s e r t i o n S o r t ( ) ; System. out. p r i n t l n ( A f t e r s o r t i n g : ) ; a r r. d i s p l a y ( ) ; Σύγκριση Αλγορίθμων Απλής Ταξινόμησης Η ταξινόμηση φυσαλίδας είναι απλή αλλά είναι χρήσιμη μόνο αν η ποσότητα των προς επεξεργασία δεδομένων είναι μικρή. Η ταξινόμηση επιλογής ελαχιστοποιεί τον αριθμό των αντιμεταθέσεων αλλά ο αριθμός των συγκρίσεων παραμένει υψηλός. Μπορεί να είναι χρήσιμη όταν η ποσότητα των δεδομένων είναι μικρή και η αντιμετάθεση των στοιχείων είναι πολύ χρονοβόρα σε σχέση με τη σύγκρισή τους. Η ταξινόμηση παρεμβολής είναι πιο ευέλικτη και η καλύτερη επιλογή στις περισσότερες περιπτώσεις, αν υποθέσουμε ότι η ποσότητα των δεδομένων είναι μικρή ή τα δεδομένα είναι σχεδόν ταξινομημένα. Ο. Τελέλης Πανεπιστήμιο Πειραιώς Δομές Δεδομένων 33 / 44 Ο. Τελέλης Πανεπιστήμιο Πειραιώς Δομές Δεδομένων 34 / 44 Ταξινόμηση Συγχώνευσης Παράδειγμα Συγχώνευσης, Δίνονται δύο ταξινομημένοι πίνακες και. Ζητείται αλγόριθμος που δημιουργεί έναν ταξινομημένο πίνακα, που περιέχει τα στοιχεία των και. 1 Ο. Τελέλης Πανεπιστήμιο Πειραιώς Δομές Δεδομένων 35 / 44
10 Παράδειγμα Συγχώνευσης Παράδειγμα Συγχώνευσης Παράδειγμα Συγχώνευσης Παράδειγμα Συγχώνευσης
11 Παράδειγμα Συγχώνευσης Παράδειγμα Συγχώνευσης Παράδειγμα Συγχώνευσης Παράδειγμα Συγχώνευσης
12 Παράδειγμα Συγχώνευσης Αλγόριθμος Συγχώνευσης (Merge) A[ i ] = και B[ j ] =, για i A.length και j B.length αντίστοιχα Επιστρέφει πίνακα C, με τα στοιχεία των A,B σε αύξουσα σειρά C νέος πίνακας μήκους A.length + B.length; i = 0; j = 0; k = 0,..., (A.length+B.length) 1 { A[ i ] < B[ j ] C[ k ] = A[ i ]; i = i + 1; { C[ k ] = B[ j ]; j = j + 1; C; O(n), για πίνακες A, B το πολύ n στοιχείων. Ο. Τελέλης Πανεπιστήμιο Πειραιώς Δομές Δεδομένων 37 / 44 Ταξινόμηση Συγχώνευσης (Παράδειγμα) Ταξινόμηση Συγχώνευσης (Παράδειγμα) Μετά το 1ο Βήμα (συγχωνεύσεις υποπινάκων μήκους 1): Ο. Τελέλης Πανεπιστήμιο Πειραιώς Δομές Δεδομένων 38 / 44 Ο. Τελέλης Πανεπιστήμιο Πειραιώς Δομές Δεδομένων 38 / 44
13 Ταξινόμηση Συγχώνευσης (Παράδειγμα) Ταξινόμηση Συγχώνευσης (Παράδειγμα) Μετά το 1ο Βήμα (συγχωνεύσεις υποπινάκων μήκους 1): Μετά το 1ο Βήμα (συγχωνεύσεις υποπινάκων μήκους 1): Μετά το 2ο Βήμα (συγχωνεύσεις υποπινάκων μήκους 2): Μετά το 2ο Βήμα (συγχωνεύσεις υποπινάκων μήκους 2): Μετά το 3ο Βήμα (συγχωνεύσεις υποπινάκων μήκους 4): Ο. Τελέλης Πανεπιστήμιο Πειραιώς Δομές Δεδομένων 38 / 44 Ο. Τελέλης Πανεπιστήμιο Πειραιώς Δομές Δεδομένων 38 / 44 Ταξινόμηση Συγχώνευσης (Παράδειγμα) Ταξινόμηση Συγχώνευσης Μετά το 1ο Βήμα (συγχωνεύσεις υποπινάκων μήκους 1): Μετά το 2ο Βήμα (συγχωνεύσεις υποπινάκων μήκους 2): Μετά το 3ο Βήμα (συγχωνεύσεις υποπινάκων μήκους 4): Μπορώ να δημιουργήσω n 2 ταξινομημένα ζεύγη στοιχείων του πίνακα. Δηλαδή να ταξινομήσω κάθε ζεύγος, ανεξάρτητα από τα υπόλοιπα: { { { { A[ 0 ], A[ 1 ], A[ 2 ], A[ 3 ], A[ 4 ], A[ 5 ],..., A[ n 2 ], A[ n 1 ] = n 2 Οι πίνακες ενός στοιχείου εντός κάθε ζεύγους είναι ταξινομημένοι! Μετά το 4ο Βήμα (συγχωνεύσεις υποπινάκων μήκους 8): Πόσο χρόνο χρειάζομαι για να συγχωνεύσω όλα τα ζευγάρια? O(n) Ο. Τελέλης Πανεπιστήμιο Πειραιώς Δομές Δεδομένων 38 / 44 Ο. Τελέλης Πανεπιστήμιο Πειραιώς Δομές Δεδομένων 39 / 44
14 Ταξινόμηση Συγχώνευσης Ταξινόμηση Συγχώνευσης Από το 1ο βήμα, έχω n 4 ζευγάρια υπο-πινάκων: κάθε πίνακας σε κάθε ζευγάρι έχει ακριβώς 2 στοιχεία στη σωστή σειρά, είναι ταξινομημένος: { [ ] [ ] { [ ] [ ] A 0 1, A 2 3, A 4 5, A 6 7,..., { [ ] [ ]..., A (n 4) (n 3), A (n 2) (n 1) Συγχωνεύσω 2 γειτονικά ζεύγη υπο-πινάκων (2 στοιχείων έκαστος) = Από το 2ο βήμα, έχω n 8 ζευγάρια υπο-πινάκων: κάθε πίνακας σε κάθε ζευγάρι έχει ακριβώς 4 στοιχεία στη σωστή σειρά, είναι ταξινομημένος: { [ ] [ ] { [ ] [ ] A 0 3, A 4 7, A 8 11, A 12 15,..., { [ ] [ ]..., A (n 6) (n 3), A (n 4) (n 1) Συγχωνεύω 2 γειτονικά ζεύγη υπο-πινάκων (4 στοιχείων έκαστος) = Πόσο χρόνο χρειάζομαι για να συγχωνεύσω όλα τα n 4 ζεύγη? O(n) Πόσο χρόνο χρειάζομαι για να συγχωνεύσω όλα τα n 8 ζεύγη? O(n) Ο. Τελέλης Πανεπιστήμιο Πειραιώς Δομές Δεδομένων 40 / 44 Ο. Τελέλης Πανεπιστήμιο Πειραιώς Δομές Δεδομένων 41 / 44 Πολυπλοκότητα Ταξινόμησης Συγχώνευσης Ταξινόμηση Συγχώνευσης: Λεπτομέρειες Υλοποίησης Κάθε βήμα (συγχωνεύσεις γειτονικών υποπινάκων) σε O(n) χρόνο. Χρειάζεται εκτίμηση του πλήθους των βημάτων. Στο τέλος κάθε βήματος έχει: ζευγών προς συγχώνευση. έχει των ταξινομημένων υπο-πινάκων. Αν ο αλγόριθμος κάνει k βήματα συγχωνεύσεων, στο k-στό βήμα: Μήκος ταξινομημένου υποπίνακα: 2 k = n. Επομένως, k = log n. Αρα η πολυπλοκότητα του αλγορίθμου είναι O(n log n). Είσοδος της είναι ο πίνακας A και το τρέχον μήκος υποπινάκων. Συγχωνεύονται ζεύγη γειτονικών υποπινάκων του τρέχοντος μήκους: μέσα σε έναν νέο, προσωρινό πίνακα, αντιγράφουμε το αποτέλεσμα πίσω στον A, στις θέσεις που καταλάμβαναν οι υποπίνακες κάθε ζεύγους. Ειδική περίπτωση: αν το πλήθος των στοιχείων δεν είναι δύναμη του 2. Ο 2ος υποπίνακας του τελευταίου ζευγαριού έχει ένα στοιχείο λιγότερο ή περισσότερο. Ο. Τελέλης Πανεπιστήμιο Πειραιώς Δομές Δεδομένων 42 / 44 Ο. Τελέλης Πανεπιστήμιο Πειραιώς Δομές Δεδομένων 43 / 44
15 Πολυπλοκότητα Ταξινόμησης Συγχώνευσης Ο. Τελέλης Πανεπιστήμιο Πειραιώς Δομές Δεδομένων 44 / 44
5. Απλή Ταξινόμηση. ομές εδομένων. Χρήστος ουλκερίδης. Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων
Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 5. Απλή Ταξινόμηση 2 ομές εδομένων 4 5 Χρήστος ουλκερίδης Τμήμα Ψηφιακών Συστημάτων 11/11/2016 Εισαγωγή Η
Διαβάστε περισσότεραΣύνοψη Προηγούμενου. Πίνακες (Arrays) Πίνακες (Arrays): Βασικές Λειτουργίες. Πίνακες (Arrays) Ορέστης Τελέλης
Σύνοψη Προηγούμενου Πίνακες (Arrays Ορέστης Τελέλης telelis@unipi.gr Τμήμα Ψηφιακών Συστημάτων, Πανεπιστήμιο Πειραιώς Διαδικαστικά θέματα. Aντικείμενο Μαθήματος. Aντικείμενα, Κλάσεις, Μέθοδοι, Μεταβλητές.
Διαβάστε περισσότεραΤαξινόμηση. Σαλτογιάννη Αθανασία
Ταξινόμηση Σαλτογιάννη Αθανασία Ταξινόμηση Ταξινόμηση Τι εννοούμε όταν λέμε ταξινόμηση; Ταξινόμηση Τι εννοούμε όταν λέμε ταξινόμηση; Ποια είδη αλγορίθμων ταξινόμησης υπάρχουν; Ταξινόμηση Τι εννοούμε όταν
Διαβάστε περισσότεραΟυρές Προτεραιότητας: Υπενθύμιση. Σωροί / Αναδρομή / Ταξινόμηση. Υλοποίηση Σωρού. Σωρός (Εισαγωγή) Ορέστης Τελέλης
Ουρές Προτεραιότητας: Υπενθύμιση Σωροί / Αναδρομή / Ταξινόμηση Ορέστης Τελέλης telelis@unipi.gr Τμήμα Ψηφιακών Συστημάτων, Πανεπιστήμιο Πειραιώς (Abstract Data Type) με μεθόδους: Μπορεί να υλοποιηθεί με
Διαβάστε περισσότεραΕισ. Στην ΠΛΗΡΟΦΟΡΙΚΗ. Διάλεξη 7 η. Βασίλης Στεφανής
Εισ. Στην ΠΛΗΡΟΦΟΡΙΚΗ Διάλεξη 7 η Βασίλης Στεφανής Αλγόριθμοι ταξινόμησης Στην προηγούμενη διάλεξη είδαμε: Binary search Λειτουργεί μόνο σε ταξινομημένους πίνακες Πώς τους ταξινομούμε? Πολλοί τρόποι. Ενδεικτικά:
Διαβάστε περισσότεραΣτοιχεία Αλγορίθµων και Πολυπλοκότητας
Στοιχεία Αλγορίθµων και Πολυπλοκότητας Ορέστης Τελέλης telelis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς Ο. Τελέλης Πανεπιστήµιο Πειραιώς Πολυπλοκότητα 1 / 16 «Ζέσταµα» Να γράψετε τις συναρτήσεις
Διαβάστε περισσότεραΠληροφορική 2. Αλγόριθμοι
Πληροφορική 2 Αλγόριθμοι 1 2 Τι είναι αλγόριθμος; Αλγόριθμος είναι ένα διατεταγμένο σύνολο από σαφή βήματα το οποίο παράγει κάποιο αποτέλεσμα και τερματίζεται σε πεπερασμένο χρόνο. Ο αλγόριθμος δέχεται
Διαβάστε περισσότεραΑλγόριθμοι Ταξινόμησης Μέρος 1
Αλγόριθμοι Ταξινόμησης Μέρος 1 Μανόλης Κουμπαράκης 1 Το Πρόβλημα της Ταξινόμησης Το πρόβλημα της ταξινόμησης (sorting) μιας ακολουθίας στοιχείων με κλειδιά ενός γνωστού τύπου (π.χ., τους ακέραιους ή τις
Διαβάστε περισσότεραΑλγόριθμοι και Δομές Δεδομένων (Ι) (εισαγωγικές έννοιες)
Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2015-16 Αλγόριθμοι και Δομές Δεδομένων (Ι) (εισαγωγικές έννοιες) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Τι είναι
Διαβάστε περισσότεραΔιάλεξη 09: Αλγόριθμοι Ταξινόμησης I
Διάλεξη 09: Αλγόριθμοι Ταξινόμησης I Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Οι αλγόριθμοι ταξινόμησης: Α. SelectionSort Ταξινόμηση με Επιλογή Β. InsertionSort Ταξινόμηση με Εισαγωγή
Διαβάστε περισσότεραΤι είναι αλγόριθμος; Υποπρογράμματα (υποαλγόριθμοι) Βασικές αλγοριθμικές δομές
Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2015-16 Αλγόριθμοι και Δομές Δεδομένων (Ι) (εισαγωγικές έννοιες) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Τι είναι
Διαβάστε περισσότεραΠανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων
Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 2. Πίνακες 45 23 28 95 71 19 30 2 ομές εδομένων 4 5 Χρήστος ουλκερίδης Τμήμα Ψηφιακών Συστημάτων 12/10/2017
Διαβάστε περισσότεραΠανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων
Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 2. Πίνακες 45 23 28 95 71 19 30 2 ομές εδομένων 4 5 Χρήστος ουλκερίδης Τμήμα Ψηφιακών Συστημάτων 21/10/2016
Διαβάστε περισσότεραΔομές Δεδομένων & Αλγόριθμοι
Δομές Δεδομένων & Αναζήτηση & Ταξινόμηση 1 Αναζήτηση Έχω έναν πίνακα Α με Ν στοιχεία. Πρόβλημα: Βρες αν το στοιχείο x ανήκει στον πίνακα Αν ο πίνακας είναι αταξινόμητος τότε μόνη λύση σειριακή αναζήτηση
Διαβάστε περισσότεραΤαξινόμηση. Ταξινόμηση ευθείας ανταλλαγής (Φυσαλίδα) 1) Να ταξινομηθεί ο πίνακας Α[Ν] σε αύξουσα σειρά με τη μέθοδο της φυσαλίδας.
Ταξινόμηση Ταξινόμηση ευθείας ανταλλαγής (Φυσαλίδα) 1) Να ταξινομηθεί ο πίνακας Α[Ν] σε αύξουσα σειρά με τη μέθοδο της φυσαλίδας. Για j από N µέχρι i µε_βήµα -1 Αν (Α[j] < Α[j-1]) τότε tmp
Διαβάστε περισσότεραΔομές Δεδομένων & Αλγόριθμοι
Δομές Δεδομένων & Αναζήτηση & Ταξινόμηση 1 Αναζήτηση Έχω έναν πίνακα Α με Ν στοιχεία. Πρόβλημα: Βρες αν το στοιχείο x ανήκει στον πίνακα Αν ο πίνακας είναι αταξινόμητος τότε μόνη λύση σειριακή αναζήτηση
Διαβάστε περισσότεραΔιάλεξη 09: Αλγόριθμοι Ταξινόμησης I
Διάλεξη 09: Αλγόριθμοι Ταξινόμησης I Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Οι αλγόριθμοι ταξινόμησης: Α. SelectoSort Ταξινόμηση με Επιλογή Β. IsertoSort Ταξινόμηση με Εισαγωγή Γ. MergeSort
Διαβάστε περισσότεραΔοµές Δεδοµένων. 9η Διάλεξη Ταξινόµηση - Στοιχειώδεις µέθοδοι. Ε. Μαρκάκης
Δοµές Δεδοµένων 9η Διάλεξη Ταξινόµηση - Στοιχειώδεις µέθοδοι Ε. Μαρκάκης Περίληψη Bubble Sort Selection Sort Insertion Sort Χαρακτηριστικά επιδόσεων Shellsort Ταξινόµηση συνδεδεµένων λιστών Δοµές Δεδοµένων
Διαβάστε περισσότεραΘέματα Προγραμματισμού Η/Υ
Πρόγραμμα Μεταπτυχιακών Σπουδών Πληροφορική και Υπολογιστική Βιοϊατρική Θέματα Προγραμματισμού Η/Υ Ενότητα 1: Εισαγωγή Θεματική Ενότητα: Εισαγωγή στον Προγραμματισμό ΘΕΜΑΤΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Η/Υ Θεματική
Διαβάστε περισσότεραΔιαδικασιακός Προγραμματισμός
Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 12 η Αναζήτηση/Ταξινόμηση Πίνακα Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα C: Από τη Θεωρία στην
Διαβάστε περισσότεραΤΕΙ ΙΟΝΙΩΝ ΝΗΣΩΝ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ - ΕΙΣ
ΤΕΙ ΙΟΝΙΩΝ ΝΗΣΩΝ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ - ΕΙΣ. ΚΑΤΕΥΘΥΝΣΗ ΔΙΟΙΚΗΣΗΣ ΤΟΥΡΙΣΤΙΚΩΝ ΕΠΙΧΕΙΡΗΣΕΩΝ ΚΑΙ ΕΠΙΧΕΙΡΗΣΕΩΝ ΦΙΛΟΞΕΝΙΑΣ Πληροφορική I "Προγραμματισμός" B. Φερεντίνος
Διαβάστε περισσότερα3 ΑΝΑ ΡΟΜΗ ΑΝΑΖΗΤΗΣΗ - ΤΑΞΙΝΟΜΗΣΗ. n! = 1*2*3*..(n-1)*n. n! = 1 αν n = 0, = n*(n-1)! αν n > ΑΝΑ ΡΟΜΗ Εισαγωγή
3 ΑΝΑ ΡΟΜΗ ΑΝΑΖΗΤΗΣΗ - ΤΑΞΙΝΟΜΗΣΗ 3.1 ΑΝΑ ΡΟΜΗ 3.1.1 Εισαγωγή ΕΦΑΡΜΟΣΜΕΝΗ ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ Αναδροµή είναι η µέθοδος κατά την οποία, σε µία γλώσσα προγραµµατισµού, µία διαδικασία ή συνάρτηση έχει την δυνατότητα
Διαβάστε περισσότεραΠληροφορική ΙΙ Ενότητα 1
Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Πληροφορική ΙΙ Ενότητα 1: Εισαγωγή Θεματική Ενότητα: Εισαγωγή στον Προγραμματισμό Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός
Διαβάστε περισσότεραΑλγόριθμοι Ταξινόμησης Bubble Sort Quick Sort. Αντρέας Δημοσθένους Καθηγητής Πληροφορικής Ολυμπιάδα 2012
Αλγόριθμοι Ταξινόμησης Bubble Sort Quick Sort Αντρέας Δημοσθένους Καθηγητής Πληροφορικής Ολυμπιάδα 2012 3 5 1 Ταξινόμηση - Sorting Πίνακας Α 1 3 5 5 3 1 Ταξινόμηση (Φθίνουσα) Χωρίς Ταξινόμηση Ταξινόμηση
Διαβάστε περισσότεραΠίνακες (Μια παλιά άσκηση) Πίνακες Κατακερματισμού (Hash Tables) Πίνακες (Μια παλιά άσκηση) Εισαγωγή. A n
Πίνακες (Μια παλιά άσκηση) Πίνακες Κατακερματισμού (Hash Tables) Ορέστης Τελέλης telelis@unipi.gr Τμήμα Ψηφιακών Συστημάτων, Πανεπιστήμιο Πειραιώς A n O(1) (στην πρώτη ελέυθερη θέση στο τέλος του πίνακα).
Διαβάστε περισσότεραΔομές Δεδομένων και Αλγόριθμοι
Δομές Δεδομένων και Αλγόριθμοι Χρήστος Γκόγκος ΤΕΙ Ηπείρου, Τμήμα Μηχανικών Πληροφορικής ΤΕ Χειμερινό Εξάμηνο 2014-2015 (Παρουσίαση 5) 1 / 17 Απόδοση προγραμμάτων Συχνά χρειάζεται να εκτιμηθεί η απόδοση
Διαβάστε περισσότεραΑλγόριθμοι Ταξινόμησης Μέρος 2
Αλγόριθμοι Ταξινόμησης Μέρος 2 Μανόλης Κουμπαράκης 1 Προχωρημένοι Αλγόριθμοι Ταξινόμησης Στη συνέχεια θα παρουσιάσουμε τρείς προχωρημένους αλγόριθμους ταξινόμησης: treesort, quicksort και mergesort. 2
Διαβάστε περισσότεραΣχεδίαση και Ανάλυση Αλγορίθμων
Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα.0 Σταύρος Δ. Νικολόπουλος 06-7 Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Ιωαννίνων Webpage: www.cs.uoi.gr/~stavros Ταξινόμηση Selection-Sort Bubble-Sort και
Διαβάστε περισσότεραQuicksort. Πρόβλημα Ταξινόμησης. Μέθοδοι Ταξινόμησης. Συγκριτικοί Αλγόριθμοι
Πρόβλημα Ταξινόμησης Quicksort Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Είσοδος : ακολουθία n αριθμών (α 1, α 2,..., α n
Διαβάστε περισσότεραΑλγόριθμοι και Πολυπλοκότητα Φώτης Ε. Ψωμόπουλος, Περικλής Α. Μήτκας
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Τομέας Ηλεκτρονικής και Υπολογιστών Εργαστήριο Επεξεργασίας Πληροφορίας και Υπολογισμών Καθηγητής: Περικλής
Διαβάστε περισσότεραΠίνακες. Ι.Ε.Κ ΓΛΥΦΑΔΑΣ Τεχνικός Τεχνολογίας Internet Αλγοριθμική Ι (Ε) Σχολ. Ετος A Εξάμηνο
Πίνακες Ι.Ε.Κ ΓΛΥΦΑΔΑΣ Τεχνικός Τεχνολογίας Internet Αλγοριθμική Ι (Ε) Σχολ. Ετος 2012-13 A Εξάμηνο Πίνακες Η ποιο γνωστή και διαδεδομένη στατική δομή είναι ο πίνακας. Οι πίνακες αποτελούνται από στοιχεία
Διαβάστε περισσότεραΤαξινόμηση. Ταξινόμηση ευθείας ανταλλαγής (Φυσαλίδα) 1) Να ταξινομηθεί ο πίνακας Α[Ν] σε αύξουσα σειρά με τη μέθοδο της φυσαλίδας.
ευθείας ανταλλαγής (Φυσαλίδα) 1) Να ταξινομηθεί ο πίνακας Α[Ν] σε αύξουσα σειρά με τη μέθοδο της φυσαλίδας. Για i από 2 µέχρι Ν Για j από N µέχρι i µε_βήµα -1 Αν (Α[j] < Α[j-1]) τότε tmp
Διαβάστε περισσότεραΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ Φ Ρ Ο Ν Τ Ι Σ Τ Η Ρ Ι Ο 1 : ΤΑΞΙΝΟΜΗΣΗ Δ Ρ Ι Τ Σ Α Σ Η Λ Ι Α Σ Υ Π Ο Ψ Η Φ Ι Ο Σ Δ Ι Δ Α Κ Τ Ο Ρ Α Σ
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ Φ Ρ Ο Ν Τ Ι Σ Τ Η Ρ Ι Ο 1 : ΤΑΞΙΝΟΜΗΣΗ Δ Ρ Ι Τ Σ Α Σ Η Λ Ι Α Σ Υ Π Ο Ψ Η Φ Ι Ο Σ Δ Ι Δ Α Κ Τ Ο Ρ Α Σ ΤΟ ΠΡΟΒΛΗΜΑ ΤΗΣ ΤΑΞΙΝΟΜΗΣΗΣ Ορισμός ταξινόμησης 2 Κατηγορίες αλγορίθμων ταξινόμησης
Διαβάστε περισσότεραΕιδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων
Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων Άσκηση 1 α) Η δομή σταθμισμένης ένωσης με συμπίεση διαδρομής μπορεί να τροποποιηθεί πολύ εύκολα ώστε να υποστηρίζει τις
Διαβάστε περισσότεραΠρογραµµατιστικές Τεχνικές
Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Αγρονόµων Τοπογράφων Μηχανικών Προγραµµατιστικές Τεχνικές Βασίλειος Βεσκούκης ρ. Ηλεκτρολόγος Μηχανικός & Μηχανικός Υπολογιστών ΕΜΠ v.vescoukis@cs.ntua.gr Ρωµύλος Κορακίτης
Διαβάστε περισσότεραΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ. Φροντιστήριο 2 ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ Φροντιστήριο 2 ΜΕΡΟΣ Α ΤΑΞΙΝΟΜΗΣΗ ΣΤΗ ΔΕΥΤΕΡΕΥΟΥΣΑ ΜΝΗΜΗ ΕΙΣΑΓΩΓΗ Όταν η χωρητικότητα της κύριας μνήμης δεν είναι ικανή να χωρέσει όλα τα δεδομένα που πρόκειται να ταξινομηθούν αναγκαζόμαστε
Διαβάστε περισσότεραΤαξινόμηση. Παύλος Εφραιμίδης. Δομές Δεδομένων Ταξινόμηση 1
Ταξινόμηση Παύλος Εφραιμίδης Δομές Δεδομένων Ταξινόμηση 1 Το πρόβλημα της ταξινόμησης Δομές Δεδομένων Ταξινόμηση 2 Ταξινόμηση Δίνεται πολυ-σύνολο Σ με στοιχεία από κάποιο σύμπαν U (πχ. U = το σύνολο των
Διαβάστε περισσότερα1. Η χειρότερη περίπτωση είναι όταν γίνου 10 επαναλήψεις, δηλαδή για n = 0.
ΦΥΛΛΑΔΙΟ ΚΑΤΑΝΟΗΣΗΣ 6 ΛΥΣΕΙΣ 1. Η χειρότερη περίπτωση είναι όταν γίνου 10 επαναλήψεις, δηλαδή για n = 0. 2. Εντολή Αλγορίθμου Αριθμός Πράξεων Ανάθεση τιμών στα x,y 2 έλεγχος i 6 αύξηση i 5 εκτύπωση i 5
Διαβάστε περισσότεραΠρογραμματιστικές Τεχνικές
Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Αγρονόμων Τοπογράφων Μηχανικών Προγραμματιστικές Τεχνικές Βασίλειος Βεσκούκης Δρ. Ηλεκτρολόγος Μηχανικός & Μηχανικός Υπολογιστών ΕΜΠ v.vescoukis@cs.ntua.gr Ρωμύλος Κορακίτης
Διαβάστε περισσότεραΕρωτήσεις πολλαπλής επιλογής - Κεφάλαιο Κάθε δομή μπορεί να χρησιμοποιηθεί σε οποιοδήποτε πρόβλημα ή εφαρμογή
Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο 3 1. Κάθε δομή μπορεί να χρησιμοποιηθεί σε οποιοδήποτε πρόβλημα ή εφαρμογή 2. Δυναμικές είναι οι δομές που αποθηκεύονται σε συνεχόμενες θέσεις μνήμης 3. Ένας πίνακας
Διαβάστε περισσότεραΈστω ένας πίνακας με όνομα Α δέκα θέσεων : 1 η 2 η 3 η 4 η 5 η 6 η 7 η 8 η 9 η 10 η
Μονοδιάστατοι Πίνακες Τι είναι ο πίνακας γενικά : Πίνακας είναι μια Στατική Δομή Δεδομένων. Δηλαδή συνεχόμενες θέσεις μνήμης, όπου το πλήθος των θέσεων είναι συγκεκριμένο. Στις θέσεις αυτές καταχωρούμε
Διαβάστε περισσότεραΠΛΗ111. Ανοιξη Μάθηµα 9 ο. Ταξινόµηση. Τµήµα Ηλεκτρονικών Μηχανικών και Μηχανικών Υπολογιστών Πολυτεχνείο Κρήτης
ΠΛΗ111 οµηµένος Προγραµµατισµός Ανοιξη 2005 Μάθηµα 9 ο Ταξινόµηση Τµήµα Ηλεκτρονικών Μηχανικών και Μηχανικών Υπολογιστών Πολυτεχνείο Κρήτης Ταξινόµηση Εισαγωγή Selection sort Insertion sort Bubble sort
Διαβάστε περισσότεραΑλγόριθμοι Ταξινόμησης Μέρος 4
Αλγόριθμοι Ταξινόμησης Μέρος 4 Μανόλης Κουμπαράκης Δομές Δεδομένων και Τεχνικές 1 Μέθοδοι Ταξινόμησης Βασισμένοι σε Συγκρίσεις Κλειδιών Οι αλγόριθμοι ταξινόμησης που είδαμε μέχρι τώρα αποφασίζουν πώς να
Διαβάστε περισσότεραBubble Hack Οπτικοποίηση του αλγορίθμου ταξινόμησης Bubble Sort στο Scratch
Bubble Hack Οπτικοποίηση του αλγορίθμου ταξινόμησης Bubble Sort στο Scratch 1 Καλαμποκάς Ιάσων, 2 Καραστάθη Μαρία, 3 Καραστάθη Ουρανία, 4 Χαλβατσιώτης Γεώργιος, 5 Κωνσταντίνου Ζωή, 6 Καρόγλου Νικόλαος,
Διαβάστε περισσότεραΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 8 Ο. Ταξινόμηση και Αναζήτηση Συναρτήσεις χειρισμού οθόνης ΣΙΝΑΤΚΑΣ Ι. ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 8 Ο Ταξινόμηση και Αναζήτηση Συναρτήσεις χειρισμού οθόνης ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ 2010-11 1 Εισαγωγή Η τακτοποίηση των δεδομένων με ιδιαίτερη σειρά είναι πολύ σημαντική λειτουργία που ονομάζεται
Διαβάστε περισσότεραΕλληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Πληροφορική II. Ενότητα 2 : Αλγόριθμοι. Δρ. Γκόγκος Χρήστος
1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Πληροφορική II Ενότητα 2 : Αλγόριθμοι Δρ. Γκόγκος Χρήστος 2 Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου Τμήμα Χρηματοοικονομικής & Ελεγκτικής
Διαβάστε περισσότεραΔιδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ ΕΠΛ 035 Δομές Δεδομένων και Αλγόριθμοι για Ηλ. Μηχ. και Μηχ. Υπολ.
Διάλεξη 13: Αλγόριθμοι Ταξινόμησης Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Οι αλγόριθμοι ταξινόμησης SelectionSort, InsertionSort, Στις ερχόμενες διαλέξεις θα δούμε τους αλγόριθμους Mergesort,
Διαβάστε περισσότεραΕργαστηριακή Άσκηση 1
Εργαστηριακή Άσκηση 1 Επανάληψη προγραμματισμού Βασικοί Αλγόριθμοι Είσοδος τιμών από το πληκτρολόγιο Σε όλα τα προγράμματα που θα γράψουμε στην συνέχεια του εξαμήνου θα χρειαστεί να εισάγουμε τιμές σε
Διαβάστε περισσότεραΠρογραμματισμός Η/Υ (ΤΛ2007 )
Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε.Ι. Κρήτης Προγραμματισμός Η/Υ (ΤΛ00 ) Δρ. Μηχ. Νικόλαος Πετράκης (npet@chania.teicrete.gr) Ιστοσελίδα Μαθήματος: https://eclass.chania.teicrete.gr/ Εξάμηνο: Εαρινό 01-15
Διαβάστε περισσότεραint Α[] = {4, 16, 22, 12, 9, 15, 10}; { 4, 9, 10, 12, 15, 16, 22 } Α[0]=4, Α[1]=9, Α[2]=10 { 4, 16,22, 12, 9, 15, 10} { 4, 12, 16, 22, 9, 15,16, 22 }
ΤΑΞΙΝΟΜΗΣΗ- ΑΣΚΗΣΕΙΣ Οι μέθοδοι ταξινόμησης INSERTION, SELECTION και BUBBLE SORT με την ολοκλήρωσή τους θα έχουν σε κάθε θέση του πίνακα το σωστό στοιχείο x (ταξινόμηση με αύξουσα σειρά δηλ. στην θέση
Διαβάστε περισσότεραΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΟΝΟΜΑΤΕΠΩΝΥΜΟ:
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΟΝΟΜΑΤΕΠΩΝΥΜΟ: Θέμα 1ο I. Ποιες οι διαφορές μεταξύ των στατικών και των δυναμικών δομών; (Μονάδες 7) II. Να γράψετε στο τετράδιό
Διαβάστε περισσότεραΕνδεικτικές Ερωτήσεις Θεωρίας
Ενδεικτικές Ερωτήσεις Θεωρίας Κεφάλαιο 2 1. Τι καλούμε αλγόριθμο; 2. Ποια κριτήρια πρέπει οπωσδήποτε να ικανοποιεί ένας αλγόριθμος; 3. Πώς ονομάζεται μια διαδικασία που δεν περατώνεται μετά από συγκεκριμένο
Διαβάστε περισσότεραΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 8: Αναζήτηση και ταξινόμηση
ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 8: Αναζήτηση και ταξινόμηση Μιχάλης Δρακόπουλος Σχολή Θετικών επιστημών Τμήμα Μαθηματικών Αναζήτηση και ταξινόµηση 7 Αναζήτηση (search) Πρόβληµα: αναζήτηση της καταχώρησης key στη
Διαβάστε περισσότεραΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ & ΑΛΓΟΡΙΘΜΟΙ. Πίνακες και βασικές επεξεργασίες αυτών
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ & ΑΛΓΟΡΙΘΜΟΙ Πίνακες και βασικές επεξεργασίες αυτών Σκοπιές από τις οποίες μελετά η πληροφορική τα δεδομένα Γλωσσών προγραμματισμού Υλικού Δομών δεδομένων Ανάλυσης δεδομένων 22/11/08 Παρουσιάσεις
Διαβάστε περισσότεραΑλγόριθμοι ταξινόμησης
Αλγόριθμοι Ταξινόμησης Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Οι αλγόριθμοι ταξινόμησης BuubleSort, SelectionSort, InsertionSort, Merger Sort, Quick Soft ΕΠΛ Δομές Δεδομένων και Αλγόριθμοι
Διαβάστε περισσότεραΔομές Δεδομένων. Δημήτρης Μιχαήλ. Ταξινόμηση. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο
Δομές Δεδομένων Ταξινόμηση Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Το πρόβλημα Είσοδος n αντικείμενα a 1, a 2,..., a n με κλειδιά (συνήθως σε ένα πίνακα, ή λίστα, κ.τ.λ)
Διαβάστε περισσότεραΘΕΜΑΤΑ ΠΡΟΣΟΜΟΙΩΣΗΣ ΠΑΝΕΛΛΑΔΙΚΩΝ ΕΞΕΤΑΣΕΩΝ Γ ΤΑΞΗΣ ΗΜΕΡΗΣΙΟΥ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ
Θέμα 1 ο ΘΕΜΑΤΑ ΠΡΟΣΟΜΟΙΩΣΗΣ ΠΑΝΕΛΛΑΔΙΚΩΝ ΕΞΕΤΑΣΕΩΝ Γ ΤΑΞΗΣ ΗΜΕΡΗΣΙΟΥ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Α) Να χαρακτηρίσετε τις παρακάτω προτάσεις ως
Διαβάστε περισσότερα1η Σειρά Γραπτών Ασκήσεων
1/20 Ασυμπτωτικός Συμβολισμός, Αναδρομικές Σχέσεις 1η Σειρά Γραπτών Ασκήσεων Αλγόριθμοι και Πολυπλοκότητα ΣΗΜΜΥ, Εθνικό Μετσόβιο Πολυτεχνείο 1 Ασυμπτωτικός Συμβολισμός, Αναδρομικές Σχέσεις 2 3 4 5 2/20
Διαβάστε περισσότεραΚεφάλαιο 5. Ανάλυση αλγορίθμων
Κεφάλαιο 5 Ανάλυση αλγορίθμων 5.1 Γενικός διδακτικός σκοπός Ο γενικός σκοπός του κεφαλαίου είναι να κατανοήσουν οι μαθητές τις τεχνικές ανάλυσης των αλγορίθμων και να εξοικειωθούν με την έννοια της πολυπλοκότητας
Διαβάστε περισσότεραΔιαίρει-και-Βασίλευε. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Διαίρει-και-Βασίλευε 2
Διαίρει-και-Βασίλευε Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Διαίρει-και-Βασίλευε 2 Διαίρει-και-Βασίλευε Γενική µέθοδος σχεδιασµού αλγορίθµων: Διαίρεση σε ( 2) υποπροβλήµατα (σηµαντικά) µικρότερου µεγέθους.
Διαβάστε περισσότεραΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ ΠΑΝΕΛΛΑΔΙΚΩΝ ΣΧΟΛΙΚΟΥ ΕΤΟΥΣ
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ ΠΑΝΕΛΛΑΔΙΚΩΝ ΣΧΟΛΙΚΟΥ ΕΤΟΥΣ 2014-2015 Πάτρα 5/5/2015 Ονοματεπώνυμο:.. Θέμα Α Α1. α. Να γράψετε στο τετράδιό σας τον
Διαβάστε περισσότεραΣχεδίαση Αλγορίθμων -Τμήμα Πληροφορικής ΑΠΘ - Εξάμηνο 4ο
Πολλαπλασιασμός μεγάλων ακεραίων (1) Για να πολλαπλασιάσουμε δύο ακεραίους με n 1 και n 2 ψηφία με το χέρι, θα εκτελέσουμε n 1 n 2 πράξεις πολλαπλασιασμού Πρόβλημα ρβημ όταν έχουμε πολλά ψηφία: A = 12345678901357986429
Διαβάστε περισσότεραΑΡΧΗ 1ης ΣΕΛΙΔΑΣ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΤΑΞΗ / ΤΜΗΜΑ : Γ ΛΥΚΕΙΟΥ ΔΙΑΓΩΝΙΣΜΑ ΠΕΡΙΟΔΟΥ : ΜΑΡΤΙΟΣ 2018 ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ : 6 (ΕΞΙ)
ΑΡΧΗ 1ης ΣΕΛΙΔΑΣ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΤΑΞΗ / ΤΜΗΜΑ : Γ ΛΥΚΕΙΟΥ ΔΙΑΓΩΝΙΣΜΑ ΠΕΡΙΟΔΟΥ : ΜΑΡΤΙΟΣ 2018 ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ : 6 (ΕΞΙ) ΘΕΜΑ Α : A1. Να γράψετε στο φύλλο απαντήσεων τον αριθμό καθεμιάς
Διαβάστε περισσότεραΠροχωρημένες έννοιες προγραμματισμού σε C
Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Διδάσκοντες: Στάθης Ζάχος (zachos@cs.ntua.gr) Νίκος Παπασπύρου (nickie@softlab.ntua.gr)
Διαβάστε περισσότεραΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ ΠΑΝΕΛΛΑΔΙΚΩΝ ΣΧΟΛΙΚΟΥ ΕΤΟΥΣ
Θέμα Α ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ ΠΑΝΕΛΛΑΔΙΚΩΝ ΣΧΟΛΙΚΟΥ ΕΤΟΥΣ 2016-2017 Πάτρα 3/5/2017 Ονοματεπώνυμο:.. Α1. Να γράψετε στην κόλλα σας τον αριθμό
Διαβάστε περισσότεραΔομές δεδομένων (2) Αλγόριθμοι
Δομές δεδομένων (2) Αλγόριθμοι Παράγωγοι τύποι (struct) σύνοψη προηγουμένων Πίνακες: πολλές μεταβλητές ίδιου τύπου Παράγωγοι τύποι ή Δομές (struct): ομαδοποίηση μεταβλητών διαφορετικού τύπου struct Student
Διαβάστε περισσότεραΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ ΠΑΝΕΛΛΑΔΙΚΩΝ ΣΧΟΛΙΚΟΥ ΕΤΟΥΣ
Θέμα Α ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ ΠΑΝΕΛΛΑΔΙΚΩΝ ΣΧΟΛΙΚΟΥ ΕΤΟΥΣ 2014-2015 Πάτρα 5/5/2015 Ονοματεπώνυμο:.. Α1. α. Να γράψετε στο τετράδιό σας τον
Διαβάστε περισσότεραΠΛΗΡΟΦΟΡΙΑΚΑ & ΤΗΛΕΠΙΚΟΙΝΩΝΙΑΚΑ ΣΥΣΤΗΜΑΤΑ
Οικονοµικό Πανεπιστήµιο Αθηνών Τµήµα ιοικητικής Επιστήµης & Τεχνολογίας ΠΛΗΡΟΦΟΡΙΑΚΑ & ΤΗΛΕΠΙΚΟΙΝΩΝΙΑΚΑ ΣΥΣΤΗΜΑΤΑ Κεφάλαιο 8 Προχωρηµένα Θέµατα Προγραµµατισµού C Γιώργος Γιαγλής Περίληψη Κεφαλαίου 8 Προχωρηµένα
Διαβάστε περισσότεραΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 4. Παραδείγματα Ανάλυσης Πολυπλοκότητας Ανάλυση Αναδρομικών Αλγόριθμων
ΕΠΛ31 Δομές Δεδομένων και Αλγόριθμοι 4. Παραδείγματα Ανάλυσης Πολυπλοκότητας Ανάλυση Αναδρομικών Αλγόριθμων Διάλεξη 04: Παραδείγματα Ανάλυσης Πολυπλοκότητας/Ανάλυση Αναδρομικών Αλγόριθμων Στην ενότητα
Διαβάστε περισσότεραΕπιµέλεια Θοδωρής Πιερράτος
εδοµένα οµές δεδοµένων και αλγόριθµοι Τα δεδοµένα είναι ακατέργαστα γεγονότα. Η συλλογή των ακατέργαστων δεδοµένων και ο συσχετισµός τους δίνει ως αποτέλεσµα την πληροφορία. Η µέτρηση, η κωδικοποίηση,
Διαβάστε περισσότερα5.1. Προσδοκώμενα αποτελέσματα
5.1. Προσδοκώμενα αποτελέσματα Όταν θα έχεις ολοκληρώσει τη μελέτη αυτού του κεφαλαίου θα έχεις κατανοήσει τις τεχνικές ανάλυσης των αλγορίθμων, θα μπορείς να μετράς την επίδοση των αλγορίθμων με βάση
Διαβάστε περισσότεραΔομημένος Προγραμματισμός (ΤΛ1006)
Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κρήτης Σχολή Εφαρμοσμένων Επιστημών Τμήμα Ηλεκτρονικών Μηχανικών Τομέας Αυτοματισμού και Πληροφορικής Δομημένος Προγραμματισμός (ΤΛ100) Δρ. Μηχ. Νικόλαος Πετράκης, Καθηγητής
Διαβάστε περισσότεραΣύνοψη Προηγούμενου. Λίστες (Lists) Συνδεδεμένες Λίστες: Εισαγωγή (1/2) Συνδεδεμένες Λίστες. Ορέστης Τελέλης
Σύνοψη Προηγούμενου Λίστες (Lists) Ορέστης Τελέλης telelis@unipi.gr Τμήμα Ψηφιακών Συστημάτων, Πανεπιστήμιο Πειραιώς Στοίβες (Stacks) : στην κορυφή της στοίβας ( ) από την κορυφή της στοίβας ( ) Ουρές
Διαβάστε περισσότεραΟρισµός. Εστω συναρτήσεις: f : N R και g : N R. η f(n) είναι fi( g(n) ) αν υπάρχουν σταθερές C 1, C 2 και n 0, τέτοιες ώστε:
Συµβολισµός Ω( ) Τάξη των Συναρτήσεων () Εκτίµηση Πολυπλοκότητας Αλγορίθµων Ορέστης Τελέλης telelis@unipi.gr Ορισµός. Εστω συναρτήσεις: f : N R και g : N R η f(n) είναι Ω( g(n) ) αν υπάρχουν σταθερές C
Διαβάστε περισσότερα1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες εντολές (μορφές) της;
1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες (μορφές) της; Η δομή επανάληψης χρησιμοποιείται όταν μια σειρά εντολών πρέπει να εκτελεστεί σε ένα σύνολο περιπτώσεων, που έχουν κάτι
Διαβάστε περισσότεραΤαξινόμηση. 1. Ταξινόμηση με Εισαγωγή 2. Ταξινόμηση με Επιλογή. Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη
Ταξινόμηση. Ταξινόμηση με Εισαγωγή. Ταξινόμηση με Επιλογή Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη Ταξινόμηση Η ταξινόμηση sortg τοποθετεί ένα σύνολο κόμβων ή εγγραφών σε μία συγκεκριμένη διάταξη
Διαβάστε περισσότερα6. Αφού δημιουργήσετε ένα πίνακα 50 θέσεων με ονόματα μαθητών να τον ταξινομήσετε αλφαβητικά με την μέθοδο της φυσαλίδας
Ανάπτυξη εφαρμογών Γ' Λυκείου Τεχνολογικής κατεύθυνσης ΑΣΚΗΣΕΙΣ ΜΕ ΜΟΝΟΔΙΑΣΤΑΤΟΥΣ ΠΙΝΑΚΕΣ ΒΑΣΙΚΕΣ 1. Να γράψετε πρόγραμμα το οποίο:3. Να γράψετε αλγόριθμο ή πρόγραμμα το οποίο: α. Θα δημιουργεί ένα πίνακα
Διαβάστε περισσότεραΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ (ΠΑΤΡΑ) ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ
ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ (ΠΑΤΡΑ) ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ Γιάννης Κουτσονίκος Επίκουρος Καθηγητής Οργάνωση Δεδομένων Δομή Δεδομένων: τεχνική οργάνωσης των δεδομένων με σκοπό την
Διαβάστε περισσότεραδυαδική αναζήτηση Παύλος Σ. Εφραιμίδης
δυαδική αναζήτηση Παύλος Σ. Εφραιμίδης περιεχόμενα δυαδική αναζήτηση ασύμμετρη δυαδική αναζήτηση δυαδική αναζήτηση με σφάλματα 2 Το πρόβλημα της αναζήτησης 3 Αναζήτηση Το πρόβλημα της αναζήτησης: Δίνεται
Διαβάστε περισσότεραΠρογραμματισμός Ι (ΗΥ120)
Προγραμματισμός Ι (ΗΥ120) Διάλεξη 10: Ταξινόμηση Πίνακα Αναζήτηση σε Ταξινομημένο Πίνακα Πρόβλημα Δίνεται πίνακας t από Ν ακεραίους. Ζητούμενο: να ταξινομηθούν τα περιεχόμενα του πίνακα σε αύξουσα αριθμητική
Διαβάστε περισσότεραΔιδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ
Διάλεξη 14: Αλγόριθμοι Ταξινόμησης Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Οι αλγόριθμοι ταξινόμησης 3) Mergesort Ταξινόμηση με Συγχώνευση 4) BucketSort Ταξινόμηση με Κάδους Διδάσκων:
Διαβάστε περισσότεραεισαγωγικές έννοιες Παύλος Εφραιμίδης Δομές Δεδομένων και
Παύλος Εφραιμίδης 1 περιεχόμενα ενθετική ταξινόμηση ανάλυση αλγορίθμων σχεδίαση αλγορίθμων 2 ενθετική ταξινόμηση 3 ενθετική ταξινόμηση Βασική αρχή: Επιλέγει ένα-έναταστοιχείατηςμηταξινομημένης ακολουθίας
Διαβάστε περισσότεραΤαξινόµηση. Παύλος Εφραιµίδης. οµές εδοµένων και
Παύλος Εφραιµίδης 1 Το πρόβληµα της ταξινόµησης 2 3 ίνεται πολυ-σύνολο Σ µε στοιχεία από κάποιο σύµπαν U (πχ. U = το σύνολο των ακεραίων αριθµών). του Σ είναι η επιβολή µιας διάταξης στα στοιχεία του συνόλου
Διαβάστε περισσότεραΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Ενότητα 6β: Ταξινόμηση με εισαγωγή και επιλογή Μαρία Σατρατζέμη Τμήμα Εφαρμοσμένης Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creatve
Διαβάστε περισσότεραΌρια Αλγόριθμων Ταξινόμησης. Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη
Όρια Αλγόριθμων Ταξινόμησης Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη Όρια Αλγόριθμων Ταξινόμησης Μέχρι στιγμής εξετάσθηκαν μέθοδοι ταξινόμησης µε πολυπλοκότητα της τάξης Θ ) ή Θlog ). Τι εκφράζει
Διαβάστε περισσότεραΕπιλογή. ημήτρης Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Εθνικό Μετσόβιο Πολυτεχνείο
Επιλογή ημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Πρόβλημα Επιλογής Πίνακας Α[]με n στοιχεία (όχι ταξινομημένος). Αριθμός k, 1 k n. Υπολογισμός
Διαβάστε περισσότεραΤαξινόμηση. 1. Ταξινόμηση του Shell. Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη
Ταξινόμηση. Ταξινόμηση του Shell Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη Ταξινόμηση του Shell Η μέθοδος που προτάθηκε από τον Shell έχει βασικό χαρακτηριστικό ότι χρησιμοποιεί µία ακολουθία ακεραίων
Διαβάστε περισσότεραΠρόβληµα Επιλογής. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Επιλογή 1
Πρόβληµα Επιλογής Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Επιλογή 1 Πρόβληµα Επιλογής Πίνακας Α[ Αριθµός k, 1 k n. ] µε n στοιχεία (όχι ταξινοµηµένος). Υπολογισµός του k-οστού µικρότερου στοιχείου (στοιχείο
Διαβάστε περισσότεραΕπιλέξτε Σωστό ή Λάθος για καθένα από τα παρακάτω:
Επιλέξτε Σωστό ή Λάθος για καθένα από τα παρακάτω: 1ο ΓΕΛ Καστοριάς Βασικές Έννοιες Αλγορίθμων Δομή Ακολουθίας (κεφ. 2 και 7 σχολικού βιβλίου) 1. Οι μεταβλητές αντιστοιχίζονται από τον μεταγλωττιστή κάθε
Διαβάστε περισσότεραΚεφάλαια Εντολές επανάληψης. Τρεις εντολές επανάληψης. Επιλογή εντολής επανάληψης ΟΣΟ...ΕΠΑΝΑΛΑΒΕ. Σύνταξη στη ΓΛΩΣΣΑ
Εντολές επανάληψης Κεφάλαια 02-08 οµές Επανάληψης Επιτρέπουν την εκτέλεση εντολών περισσότερες από µία φορά Οι επαναλήψεις ελέγχονται πάντοτε από κάποια συνθήκη η οποία καθορίζει την έξοδο από το βρόχο
Διαβάστε περισσότεραΕΝΔΕΙΚΤΙΚΕΣ ΑΠΑΝΤΗΣΕΙΣ ΘΕΜΑ Α Α1. 1 ΣΩΣΤΟ 2 ΛΑΘΟΣ 3 ΛΑΘΟΣ 4 ΛΑΘΟΣ 5 ΣΩΣΤΟ
ΕΝΔΕΙΚΤΙΚΕΣ ΑΠΑΝΤΗΣΕΙΣ ΘΕΜΑ Α Α1. 1 ΣΩΣΤΟ 2 ΛΑΘΟΣ 3 ΛΑΘΟΣ 4 ΛΑΘΟΣ 5 ΣΩΣΤΟ Α2. α. Δομή Δεδομένων είναι ένα σύνολο αποθηκευμένων δεδομένων που υφίστανται επεξεργασία από ένα σύνολο λειτουργιών. Προσπέλαση,
Διαβάστε περισσότεραΕπαναληπτικό Διαγώνισμα
Επαναληπτικό Διαγώνισμα Ανάπτυξη Εφαρμογών Σε Προγραμματιστικό Περιβάλλον Γ Λυκείου Κυριακή 13 Απριλίου 2014 ΘΕΜΑ Α Δίνεται το παρακάτω τμήμα προγράμματος που το ακολουθεί μία συνάρτηση που χρησιμοποιεί....
Διαβάστε περισσότεραφροντιστήρια Θέματα Ανάπτυξης Εφαρμογών σε Προγραμματιστικό Περιβάλλον Γ λυκείου Προσανατολισμός Σπουδών Οικονομίας και Πληροφορικής
Θέματα Ανάπτυξης Εφαρμογών σε Προγραμματιστικό Περιβάλλον Γ λυκείου Προσανατολισμός Σπουδών Οικονομίας και Πληροφορικής Θέμα Α Α1. Να γράψετε στο τετράδιο σας το γράμμα της κάθε πρότασης και δίπλα τη λέξη
Διαβάστε περισσότεραΔιάλεξη 04: Παραδείγματα Ανάλυσης
Διάλεξη 04: Παραδείγματα Ανάλυσης Πολυπλοκότητας/Ανάλυση Αναδρομικών Αλγόριθμων Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Παραδείγματα Ανάλυσης Πολυπλοκότητας : Μέθοδοι, παραδείγματα
Διαβάστε περισσότεραΣτόχοι και αντικείμενο ενότητας. Πέρασμα Πίνακα σε Συνάρτηση (συν.) Πέρασμα Πίνακα σε Συνάρτηση. #8.. Ειδικά Θέματα Αλγορίθμων
Στόχοι και αντικείμενο ενότητας Πέρασμα Πίνακα σε Συνάρτηση #8.. Ειδικά Θέματα Αλγορίθμων Προβλήματα Αναζήτησης Γραμμική Αναζήτηση (Linear Search) Ενημέρωση Μέτρηση Δυαδική Αναζήτηση (Binary Search) Προβλήματα
Διαβάστε περισσότεραΕπιλογή. ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών
Επιλογή ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται
Διαβάστε περισσότεραΑλγόριθµοι και Πολυπλοκότητα
Αλγόριθµοι και Πολυπλοκότητα Ν. Μ. Μισυρλής Τµήµα Πληροφορικής και Τηλεπικοινωνιών, Πανεπιστήµιο Αθηνών Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα Φεβρουαρίου 0 / ένδρα Ενα δένδρο είναι
Διαβάστε περισσότεραΔιάλεξη 04: Παραδείγματα Ανάλυσης Πολυπλοκότητας/Ανάλυση Αναδρομικών Αλγόριθμων
Διάλεξη 04: Παραδείγματα Ανάλυσης Πολυπλοκότητας/Ανάλυση Αναδρομικών Αλγόριθμων Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Παραδείγματα Ανάλυσης Πολυπλοκότητας : Μέθοδοι, παραδείγματα
Διαβάστε περισσότεραΕπιλογή. Επιμέλεια διαφανειών: Δ. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Εθνικό Μετσόβιο Πολυτεχνείο
Επιλογή Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Πρόβλημα Επιλογής Πίνακας Α[ ] με n στοιχεία (όχι ταξινομημένος). Αριθμός k,
Διαβάστε περισσότεραιαίρει-και-βασίλευε ημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο
ιαίρει-και-βασίλευε ημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο ιαίρει-και-βασίλευε Γενική μέθοδος σχεδιασμού αλγορίθμων: ιαίρεση σε ( 2) υποπροβλήματα
Διαβάστε περισσότερα