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

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

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

Transcript

1 Διάλεξη 04: ΠαραδείγματαΑνάλυσης Πολυπλοκότητας/Ανάλυση Αναδρομικών Αλγόριθμων Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: -Παραδείγματα Ανάλυσης Πολυπλοκότητας : Μέθοδοι, παραδείγματα -Γραμμική και Δυαδική Αναζήτηση, Ανάλυση Αναδρομικών Αλγορίθμων - H Μέθοδος της Αντικατάστασης, Master Theorem Διδάσκων: Παναγιώτης Ανδρέου 1

2 Παράδειγμα 1: Υπολογισμός Χρόνου Εκτέλεσης Υποθέστε ότι ένα πρόβλημα επιλύνεται με τον πιο κάτω κώδικα: Ανάλυση k+=i; for(i=0; i<; i++) it i,k=0; for (i=0; i<; i++) k+=i; H βασική πράξη η οποία χρειάζεται Ο(1) χρόνο Ο αλγόριθμος εκτελεί την βασική πράξη φορές 1 i = 0 1 = ή 1 = i oo αλγόριθμος έχει πολυπλοκότητατης τάξης O() oστην βέλτιστη περίπτωση χρειάζεται Ω() O() & Ω() Θ()

3 Υπολογισμός Χρόνου Εκτέλ. με φωλιασμ. βρόγχους Σε ένα βρόχο (for loop) o συνολικός χρόνος που απαιτείται είναι: Βασική Πράξη x Αριθμό Επαναλήψεων Φωλιασμένοι Βρόχοι: η ανάλυση γίνεται από τα μέσα προς τα έξω: Παράδειγμα: for (i=0; i<; i++) for (j=0; j<; j++) //statemet e.g., k+=i; Συνεχόμενες Εντολές:Ο χρόνος εκτέλεσης T της εντολής S και μετά S παίρνει χρόνο ίσο του αθροίσματος των χρόνων εκτέλεσης των T(S) + T(S ). Συνθήκες if:ο χρόνος εκτέλεσης T της εντολής ifb thes else S παίρνει χρόνο ίσο με max(t(b)+t(s), T(b)+T(S )) 3

4 Παράδειγμα : Υπολογισμός Χρόνου Εκτέλεσης Υποθέστε ότι ένα πρόβλημα επιλύνεται με τον πιο κάτω κώδικα: Ανάλυση Εσωτερικός Βρόγχος: Εξωτερικός Βρόγχος: Σύνολο: it i, j, sum=0; for (i=0; i<; i++) for (j=0; j<; j++) sum++; i= 1 j= 1 1 = i= 1 IL i = 1 = 1 = 1 = IL j = 0 j = 1 = Ο( Εξωτερικός Βρόγχος Εσωτερικός Βρόγχος IL ), Ω( 1 = ) Θ( ) 4

5 Παράδειγμα 3: Υπολογισμός Χρόνου Εκτέλεσης Υποθέστε ότι ένα πρόβλημα επιλύνεται με τον πιο κάτω κώδικα: Ανάλυση it i, j, sum=0; for (i=0; i<; i++) Εσωτερικός Βρόγχος: for (j=0; j< i*i; j++) sum++; IL Εξωτερικός Βρόγχος Εσωτερικός Βρόγχος Παρατηρούμε ότι ο χρόνος εκτέλεσης του εσωτερικού βρόχου εξαρτάται από την τιμή i, οποία καθορίζεται από τον εξωτερικό βρόχο. i = j = 0 1 = i 5

6 Παράδειγμα 3: Υπολογισμ. Χρόνου Εκτέλεσης (συν.) Ο πιο κάτω πίνακας δείχνει το πόσες φορές εκτελείται ο εσωτερικός βρόγχος σαν συνάρτηση του i: i IL = i (-1) Εξωτερικός Βρόγχος: (-1) Σύνολο:Ο χρόνος εκτέλεσης του προγράμματος είναι ίσοςμε το άθροισμα του χρόνου εκτέλεσης κάθε επανάληψης του εσωτερικού βρόχου: i= 1 i = ( + 1)( + 1) = ( ) Θ( ) 6 6 6

7 Παράδειγμα 4: Υπολογισμός Χρόνου Εκτέλεσης Υποθέστε ότι ένα πρόβλημα επιλύνεται με τον πιο κάτω κώδικα: Ανάλυση Εσωτερικός Βρόγχος A: Εσωτερικός ΒρόγχοςB: Εξωτερικός Βρόγχος: Σύνολο: it i, j, k, sum=0; for (i=0; i<; i++) for (j=0; j<; j++) Θ( 3 ) for (k=0; k<; k++) sum++; IL IL OL A 1 = k = Εξωτερικός Βρόγχος Εσωτερικός Βρόγχος B Εσωτερικός Βρόγχος A B = IL A = = = j j = IL B = = = i j 3 7

8 Παράδειγμα 5: Υπολογισμός Χρόνου Εκτέλεσης Υποθέστε ότι ένα πρόβλημα επιλύνεται με τον πιο κάτω κώδικα: Ανάλυση it i, j, sum=0; Εσωτερικός Βρόγχος: for (i=1; i<=; i=*i) for (j=0; j< ; j++) sum++; IL = Εξωτερικός Βρόγχος Εσωτερικός Βρόγχος Εξωτερικός Βρόγχος: Κάθε φορά, το iπολλαπλασιάζεται επί. Παράδειγμα: για =10το iθα είναι 1,, 4, 8, 16> break j 1 = Πόσες φορές εκτελείται;;; 8

9 Παράδειγμα 5: Υπολογισμ. Χρόνου Εκτέλεσης (συν.) Ας υποθέσουμε ότι το είναι μία δύναμη του = κ Ο πιο κάτω πίνακας δείχνει το πόσες φορές εκτελείται ο εσωτερικός βρόγχος σαν συνάρτηση του k: k k = k k τιμές i - 1 1, 1,,4 1,,4,8 επαναλ k Συμπέρασμα:i=k, άρα για = i θα χρειαστούν iεπαναλ. Ερώτηση:πως μπορούμε να βρούμε το την τιμή iέχοντας σαν δεδομένο το i ; Απάντηση: με χρήση λογάριθμου (log): log i = i 9

10 Παράδειγμα 5: Υπολογισμός Χρόνου Εκτέλεσης Υποθέστε ότι ένα πρόβλημα επιλύνεται με τον πιο κάτω κώδικα: Ανάλυση Εσωτερικός Βρόγχος: Εξωτερικός Βρόγχος:(log i = log ) Σύνολο: it i, j, sum=0; for (i=1; i<=; i=*i) log for (j=0; j< ; j++) sum++; Θ IL = j IL = log ( log ) 1 = Εξωτερικός Βρόγχος Εσωτερικός Βρόγχος 10

11 Παράδειγμα 6: Υπολογισμός Χρόνου Εκτέλεσης Υποθέστε ότι ένα πρόβλημα επιλύνεται με τον πιο κάτω κώδικα: Ανάλυση =περιττός Εσωτερικός Βρόγχος(else): =άρτιος Εσωτερικός Βρόγχος(if): Εξωτερικός Βρόγχος: Σύνολο: it i, j, sum=0; for (i=0; i<; i++) Θ( ) if( (%)==0 ) for (j=0; j<; j++) sum++; else sum--; OL Εξωτερικός Βρόγχος Εσωτερικός Βρόγχος (if) Εσωτερικός Βρόγχος (else) IL ( if ) = 1 = = j max( IL if, IL else ) = IL if = = i IL ( else ) i = 1 i 11

12 Παράδειγμα 7: Χρόνος Εκτέλεσης BubbleSort ΗBubbleSortταξινομεί κάποιο πίνακα με συνεχή εναλλαγή των στοιχείων του αν δεν είναι στη σωστή σειρά. Παράδειγμα: itx = {3,, 4, 1, 5; swap o swap Πέρασμα Πέρασμα Πέρασμα Πέρασμα

13 Παράδειγμα 7: Χρόνος Εκτέλεσης BubbleSort(συν.) void bubblesort( it X[], it ){ it i, j, temp; bool swapped; for (i=0;i<-1;i++) { swapped = false; for (j=0;j<-i-1;j++) { if (X[j] > X[j+1]) { temp = X[j]; X[j] = X[j+1]; X[j+1] = temp; swapped = true; Εσωτερικός Βρόγχος if (swapped==false) retur; Εξωτερικός Βρόγχος 13

14 Παράδειγμα 7: Χρόνος Εκτέλεσης BubbleSort(συν.) void bubblesort( it X[], it ){ for (i=0;i<-1;i++) { for (j=0;j<-i-1;j++) { Εσωτερικός Βρόγχος Ανάλυση Εσωτερικός Βρόγχος: Εξωτερικός Βρόγχος: Σύνολο: Θ( ) Εξωτερικός Βρόγχος = IL OL i = 1 ( 1) j = = ( 1) = IL = i 1 = 1 i = 0 1 i = 0 = 1 i 1 1 i = 0 ( )( 1) 1 i = 0 i 14

15 Γραμμική vs. Δυαδική Διερεύνηση Δεδομένα Εισόδου: Πίνακας Χ με στοιχεία, ταξινομημένος από το μικρότερο στο μεγαλύτερο, και ακέραιος k. Στόχος: Να εξακριβώσουμε αν το k είναι στοιχείο του Χ. Γραμμική Διερεύνηση: εξερευνούμε τον πίνακα από τα αριστερά στα δεξιά. it liear( it X[], it, it k){ it i=0; while ( i < ) { if (X[i] == k) retur i; if (X[i] > k) retur -1; i++; retur -1; Xείριστη περίπτωση: Ο() (ο βρόχος εκτελείται φορές) 15

16 Αναδρομική Γραμμική Διερεύνηση it rliear( it X[], it, it k, it pos ){ if ( pos == ) retur -1; //ot foud if ( X[pos] == k ) retur pos; //foud elseif ( X[pos] > k ) retur -1; //foud larger skip rest retur rliear( X,, k, pos+1 ); Xείριστηπερίπτωση: Ο() (εκτελούνται αναδρομικές κλήσεις της rliear) 16

17 Δυαδική Διερεύνηση Δυαδική Διερεύνηση: βρίσκουμε το μέσο του πίνακα και αποφασίζουμε αν το k ανήκει στο δεξιό ή αριστερό μισό. Επαναλαμβάνουμε την ίδια διαδικασία στο μισό που μας ενδιαφέρει: it biary (it X[], it, it key) { it low=0; it high = - 1; it mid; while( low <= high) { mid = (low + high) / ; if( key < X[mid]) high = mid-1; else if (key > X[mid]) low = mid+1; else { retur mid; break; retur -1; 17

18 Αναδρομική Δυαδική Διερεύνηση it rbiary_aux (it X[], it low, it high, it key) { it mid; if( low <= high) { mid = (low + high) / ; if( key == X[mid]) retur mid; else if( key < X[mid]) retur rbiary_aux( X, low, mid-1, key); else retur rbiary_aux( X, mid+1, high, key); retur -1; it rbiary (it X[], it, it key) { it low = 0; it high = -1; retur rbiary_aux( X, low, high, key); 18

19 Δυαδική Διερεύνηση Χρόνος Εκτέλεσης Η βασική πράξη (σύγκριση) εκτελείται Ο(log )φορές δηλαδή: Εκτέλεση 1 -> Μας απομένει* / του πίνακα, Εκτέλεση -> Μας απομένει /4του πίνακα, Εκτέλεση 3 -> Μας απομένει /8του πίνακα, Εκτέλεση Χ -> Μας απομένει 1 στοιχείο του πίνακα, Στην εκτέλεση Χ είτε βρήκαμε το στοιχείο είτε όχι δηλ., έχουμε την ακολουθία, /, /4, /8,, 4,,1, <==> 0, 1,, 3,, x Το x εκφράζει πόσες φορές εκτελούμε το while loop x x => log log => x log Biary Search Ο(log ) 19

20 Πολυπλοκότητα Αναδρομικών Διαδικασιών Μέχρι τώρα συζητήσαμε τεχνικές για την ανάλυσηεπαναληπτικών αλγορίθμων (με while, for, κτλ.) Ωστόσο, πολλοί αλγόριθμοιορίζονται αναδρομικά(π.χ. biary search, Fiboacci, κτλ.) Θέλουμε κάποια μεθοδολογία για να αναλύουμε την πολυπλοκότητα τέτοιων αναδρομικών εξισώσεων. π.χ. Τ() = T(/) Τ()=*T(-1), >0 κτλ. Σημειώστε ότι υπάρχουν διάφοροι τύποι αναδρομικών εξισώσεων. Πολλοί τύποι χρειάζονται ειδικά εργαλεία τα οποία δεν θα δούμε σε αυτό το μάθημα. Ένα τύπο που θα μελετήσουμε θα είναι οι Αναδρομικές Εξισώσεις τύπου «Διαίρει και Βασίλευε» Θα τις επιλύσουμε με τηνμέθοδο της Αντικατάστασηςκαι θα τις επαληθεύουμε με το Θεώρημα Master 0

21 Ανάλυση Αναδρομικής Δυαδικής Διερεύνησης Ας ξαναδούμε την αναδρομική έκδοση της δυαδικής αναζήτησης Από ότι βλέπουμε σε κάθε εκτέλεση το biary_searchμοιράζει μια ακολουθία στοιχείων σε / στοιχεία (εάν είναι ζυγός). Επομένως το πρόβλημα μεγέθους έγινε τώρα /. Σε κάθε βήμα χρειαζόμαστε και δυο συγκρίσεις (τα δυο if statemets) O χρόνος εκτέλεσης της biary_search εκφράζεται με την αναδρομική συνάρτηση: f() = f(/) + // αναδρομικό βήμα f(1) = // συνθήκη τερματισμού 1

22 Μέθοδος της Αντικατάστασης Μέθοδος της Αντικατάστασης: Χρησιμοποιούμε το βήμα της αναδρομής επαναληπτικά, μέχρι να εκφράσουμε το Τ() ως συνάρτηση της βασικής περίπτωσης, δυνάμεις του και σταθερές τιμές. Εφαρμογή Έχουμε την αναδρομική εξίσωση της δυαδικής διερεύνησης (τύπου Διαίρει και Βασίλευε) Τ() = T(/) +, για κάθε T(1) = Τότε, αντικαθιστώντας το Τ(/) με τηντιμή του παίρνουμε Τ() = T(/) + = T(/4) + + = T(/8) = (Μπορούμε τώρα να μαντέψουμε ότι ) = log Επομένως η δυαδική αναζήτηση εκτελείται log βήματα

23 Ανάλυση Αναδρομικής Δυαδικής Διερεύνησης Στην δυαδική διερεύνηση η ακολουθία μοιράζεται ως εξής:, /, /4,,, 1. Προσοχή: Δεν σημαίνειότι έχουμε +/+/4+ ++1=-1 εκτελέσεις. Έχουμε μονάχα log εκτελέσεις Ανάλογα με το σε πόσα κομμάτια «διαιρείται»το πρόβλημα κάθε φορά, αλλάζει και η βάση του λογάριθμου. log log 3 0 = 1 1 = 3 = = = = = = 1,073,741, Αριθμός πράξεων , 14 /, 4 /4, 4 4,,1 3 Στοιχε ία :log, 14 /3, 4 /9, 4 4, 3,1 3 Στοιχε ία :log 3 Όσο μεγαλύτερη η βάση του λογάριθμου τόσο πιο λίγες εκτελέσεις του αλγόριθμου έχουμε! Ωστόσο, αυξάνονται οι συγκρίσειςσε κάθε εκτέλεση! Π.χ.,δυαδική διερεύνηση: lg εκτελέσεις, 1 έλεγχο σε κάθε βήμα. 3

24 Master Theorem To Master Theoremμας επιτρέπει να βρίσκουμε ή να επαληθεύουμε την χρονική πολυπλοκότητα αναδρομικών εξισώσεων τύπου διαίρει και βασίλευε. Διαίρει και Βασίλευε: πχ. Τ() = T(/) + αλλά όχιτ()=*t(-1) Αυτό το θεώρημα δεν χρειάζεται να το απομνημονεύσετεαλλά μπορείτε να τον χρησιμοποιήσετε για την επαλήθευση ασκήσεων. Master Theorem: Έστω ότι η είναι μία αύξουσα που ικανοποιεί τη λειτουργία της επανάληψης: / όταν το, όπου είναι ένας θετικόςακέραιος, 1, b 1, και,dείναι πραγματικοί αριθμοί, 0, 0.Τότε ισχύει: Ο Ο Ο 4

25 Master Theorem- Εφαρμογή O χρόνος εκτέλεσης της δυαδικής διερεύνησης εκφράζεται με την αναδρομική συνάρτηση: Τ() = Τ(/) + Τ(1) = T() = (a=1) x T ( /(b=) ) + (c=)x d=0 a=1, b=, c=, d=0 a=1 και b d = 0 = 1 a=b d T() is O( d log) T() is O( 0 log) T() is O(log) // αναδρομικό βήμα // συνθήκη τερματισμού 5

26 Μέθοδος της αντικατάστασης: Παράδειγμα 1 Έχουμε την αναδρομική εξίσωση Τ() = 4 T(/) +, για κάθε T(1) = 1 Τότε, αντικαθιστώντας το Τ(/) με τηντιμή του παίρνουμε Τ() = 4 T(/) + // Εκτέλεση 1 = 4(4 T(/4) + /) + // Εκτέλεση = 4² Τ(/4) + + // Πράξεις = 4³ Τ(/8) + ² + + // Εκτέλεση 3 =... = 4 k Τ(1) + k-1 + +² + + // k = k=log log 1 log i log log = 4 + * = i= 0 + ( 1) = = O( + *( ) 1) a=4, b=, c=1, d=1, a=4>b d = 1 = T() O( log(4) ) T() O( ) 6

27 Μέθοδος της αντικατάστασης: Παράδειγμα Άσκηση Να λύσετε την πιο κάτω αναδρομική εξίσωσημε την μέθοδο της αντικατάστασης(προσοχή δεν είναι τύπου διαίρει & βασίλευε) Τ(0)=1 Τ()=*T(-1), >0 Λύση Τ() = **T(-1) = * *(-1)*T(-) = 3* *(-1)*(-)*T(-3) = = **(-1)*(-)*...**1*T(0) = *! ε Ο(!) 7

28 Εργασία 1 Να λύσετε την πιο κάτω αναδρομική εξίσωση: T(1) = 1 Τ() = T(/)

29 Εργασία Να λύσετε την πιο κάτω αναδρομική εξίσωση: T(1) = 1 T() = 7 T(/) + 18² -9

30 Εργασία 3 Nα υπολογίσετε τον χρόνο εκτέλεσης της παρακάτω αναδρομικής διαδικασίας λύνοντας οποιαδήποτε αναδρομική εξίσωση συναντήσετε. public static it recursive1(it ){ it sum=0; for ( it i=1; i <= ; i++) sum++; if (>1) retur recursive1(/); else retur 1; -30

31 Εργασία 4 Nα υπολογίσετε τον χρόνο εκτέλεσης της παρακάτω αναδρομικής διαδικασίας λύνοντας οποιαδήποτε αναδρομική εξίσωση συναντήσετε. public static it recursive(it ){ it sum=0; for ( it i=1; i <= ; i++) sum++; if (>1) retur (recursive(/) + recursive(/)); else retur 1; -31

32 Περίληψη των όσων έχουμε πει Μας ενδιαφέρει να αναλύουμε την πολυπλοκότητα των αλγορίθμων που φτιάχνουμε. Έχουμε δύο επιλογές: 1. Αν υλοποιήσουμε τον αλγόριθμο και να τρέξουμε πολλά παραδείγματα έτσι ώστε να αξιολογήσουμε την απόδοση του αλγόριθμού μας.. Να εφαρμόσουμε τη θεωρητική προσέγγιση ανάλυσης αλγορίθμων. Τι κερδίζουμε επιλέγοντας το () πιο πάνω; A. Αποφεύγουμε την υλοποίηση B. Προφέρουμε απάντηση η οποία δεν βασίζεται στην υλοποίηση που έχουμε κάνει και κατά συνέπεια δεν βασίζεται στον υπολογιστή στον οποίο τρέξαμε τα πειράματα, στη γλώσσα που χρησιμοποιήσαμε για την υλοποίηση ή στις προγραμματιστικές ικανότητες του προγραμματιστή. C. Επιπλέον: Το αποτέλεσμα μας καλύπτει πληροφορίες για όλα τα πιθανά στιγμιότυπα εισόδου. -3

33 Περίληψη των όσων έχουμε πει Πως μπορούμε να υποσχόμαστε τόσα πολλά; Επειδή βασιζόμενοι στην Αρχή της Σταθερότητας αγνοούμε διάφορες σταθερές που συναντούμε: Υποθέτουμε ότι όλες οι πράξεις ενός αλγόριθμου χρειάζονται τον ίδιο χρόνο για να εκτελεστούν παρόλο που διαφέρουν στον χρόνο εκτέλεσης τους -33

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

Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 6: ΠαραδείγματαΑνάλυσης Πολυπλοκότητας/Ανάλυση Αναδρομικών Αλγόριθμων Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: -Παραδείγματα Ανάλυσης Πολυπλοκότητας : Μέθοδοι, παραδείγματα -Γραμμική

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Εργαστήριο 6: Αναζήτηση, Ανάλυση Πολυπλοκότητας

Εργαστήριο 6: Αναζήτηση, Ανάλυση Πολυπλοκότητας Εργαστήριο 6: Αναζήτηση, Ανάλυση Πολυπλοκότητας Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Αναζήτηση με linearsearch, binarysearch, ternarysearch - Ανάλυση Πολυπλοκότητας ternarysearch

Διαβάστε περισσότερα

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

Διάλεξη 09: Αλγόριθμοι Ταξινόμησης I Διάλεξη 09: Αλγόριθμοι Ταξινόμησης I Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Οι αλγόριθμοι ταξινόμησης: Α. SelectionSort Ταξινόμηση με Επιλογή Β. InsertionSort Ταξινόμηση με Εισαγωγή

Διαβάστε περισσότερα

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

Διδάσκων: Παναγιώτης Ανδρέου ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι Φροντιστήριο: Επανάληψη για την ενδιάμεση εξέταση Διδάσκων: Παναγιώτης Ανδρέου ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 1 Μαθηματική Επαγωγή Να αποδείξετε ότι 1 3 5... (2 1) 2 για >0. Απόδειξη: Επαληθεύουμε

Διαβάστε περισσότερα

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

Διάλεξη 09: Αλγόριθμοι Ταξινόμησης I Διάλεξη 09: Αλγόριθμοι Ταξινόμησης I Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Οι αλγόριθμοι ταξινόμησης: Α. SelectoSort Ταξινόμηση με Επιλογή Β. IsertoSort Ταξινόμηση με Εισαγωγή Γ. MergeSort

Διαβάστε περισσότερα

Κατ οίκον Εργασία 1 Σκελετοί Λύσεων

Κατ οίκον Εργασία 1 Σκελετοί Λύσεων ΕΠΛ Δομές Δεδομένων και Αλγόριθμοι Σεπτέμβριος 008 Κατ οίκον Εργασία Σκελετοί Λύσεων Άσκηση Παρατηρούμε ότι ο χρόνος εκτέλεσης μέσης περίπτωσης της κάθε εντολής if ξεχωριστά: if (c mod 0) for (k ; k

Διαβάστε περισσότερα

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

Αναζήτηση. 1. Σειριακή αναζήτηση 2. Δυαδική Αναζήτηση. Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη Αναζήτηση. Σειριακή αναζήτηση. Δυαδική Αναζήτηση Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη Παραδοχή Στη συνέχεια των διαφανειών (διαλέξεων) η ασυμπτωτική έκφραση (συμβολισμός Ο, Ω, Θ) του χρόνου

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. ΘΕΩΡΗΤΙΚΗ ΑΣΚΗΣΗ 1 ΛΥΣΕΙΣ Ανάλυση Πολυπλοκότητας

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. ΘΕΩΡΗΤΙΚΗ ΑΣΚΗΣΗ 1 ΛΥΣΕΙΣ Ανάλυση Πολυπλοκότητας ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 231: Δομές Δεδομένων και Αλγόριθμοι Εαρινό Εξάμηνο 2013 ΘΕΩΡΗΤΙΚΗ ΑΣΚΗΣΗ 1 ΛΥΣΕΙΣ Ανάλυση Πολυπλοκότητας Διδάσκων Καθηγητής: Παναγιώτης Ανδρέου Ημερομηνία Υποβολής:

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. ΘΕΩΡΗΤΙΚΗ ΑΣΚΗΣΗ 1 ΛΥΣΕΙΣ Ανάλυση Πολυπλοκότητας

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. ΘΕΩΡΗΤΙΚΗ ΑΣΚΗΣΗ 1 ΛΥΣΕΙΣ Ανάλυση Πολυπλοκότητας ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 231: Δομές Δεδομένων και Αλγόριθμοι ΘΕΩΡΗΤΙΚΗ ΑΣΚΗΣΗ 1 ΛΥΣΕΙΣ Ανάλυση Πολυπλοκότητας ΠΕΡΙΓΡΑΦΗ Σε αυτή την άσκηση καλείστε να αναλύσετε και να υπολογίσετε το

Διαβάστε περισσότερα

Κατ οίκον Εργασία 1 Σκελετοί Λύσεων

Κατ οίκον Εργασία 1 Σκελετοί Λύσεων ΕΠΛ 1 Δομές Δεδομένων και Αλγόριθμοι Σεπτέμβριος 009 Κατ οίκον Εργασία 1 Σκελετοί Λύσεων Άσκηση 1 Αρχικά θα πρέπει να υπολογίσουμε τον αριθμό των πράξεων που μπορεί να εκτελέσει ο υπολογιστής σε μια ώρα,

Διαβάστε περισσότερα

Διάλεξη 19: Αλγόριθμοι ΤαξινόμησηςII. Διδάσκων: Παναγιώτης Ανδρέου

Διάλεξη 19: Αλγόριθμοι ΤαξινόμησηςII. Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 19: Αλγόριθμοι ΤαξινόμησηςII Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Οι αλγόριθμοι ταξινόμησης: Γ. MergeSort Ταξινόμηση με Συγχώνευση Δ. BucketSort Ταξινόμηση με Κάδους Διδάσκων:

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ Διάλεξη 14: Αλγόριθμοι Ταξινόμησης Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Οι αλγόριθμοι ταξινόμησης 3) Mergesort Ταξινόμηση με Συγχώνευση 4) BucketSort Ταξινόμηση με Κάδους Διδάσκων:

Διαβάστε περισσότερα

Εργαστήριο 2: Πίνακες

Εργαστήριο 2: Πίνακες Εργαστήριο 2: Πίνακες Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Επεξεργασία Πινάκων - Υλοποίηση της Δυαδικής Αναζήτησης σε πίνακες - Υλοποίηση της Ταξινόμησης με Επιλογής σε πίνακες ΕΠΛ035

Διαβάστε περισσότερα

Αλγόριθµοι και Πολυπλοκότητα

Αλγόριθµοι και Πολυπλοκότητα Αλγόριθµοι και Πολυπλοκότητα Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα: Πρόβληµα, Στιγµιότυπο, Αλγόριθµος Εργαλεία εκτίµησης πολυπλοκότητας: οι τάξεις Ο(), Ω(), Θ( ) Ανάλυση Πολυπλοκότητας Αλγορίθµων

Διαβάστε περισσότερα

Αλγόριθµοι και Πολυπλοκότητα

Αλγόριθµοι και Πολυπλοκότητα Αλγόριθµοι και Πολυπλοκότητα Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα: Πρόβληµα, Στιγµιότυπο, Αλγόριθµος Εργαλεία εκτίµησης πολυπλοκότητας: οι τάξεις Ο(n), Ω(n), Θ(n) Ανάλυση Πολυπλοκότητας Αλγορίθµων

Διαβάστε περισσότερα

Στη C++ υπάρχουν τρεις τύποι βρόχων: (a) while, (b) do while, και (c) for. Ακολουθεί η σύνταξη για κάθε μια:

Στη C++ υπάρχουν τρεις τύποι βρόχων: (a) while, (b) do while, και (c) for. Ακολουθεί η σύνταξη για κάθε μια: Εργαστήριο 6: 6.1 Δομές Επανάληψης Βρόγχοι (Loops) Όταν θέλουμε να επαναληφθεί μια ομάδα εντολών τη βάζουμε μέσα σε ένα βρόχο επανάληψης. Το αν θα (ξανα)επαναληφθεί η εκτέλεση της ομάδας εντολών καθορίζεται

Διαβάστε περισσότερα

Διαίρει-και-Βασίλευε. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Διαίρει-και-Βασίλευε 2

Διαίρει-και-Βασίλευε. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Διαίρει-και-Βασίλευε 2 Διαίρει-και-Βασίλευε Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Διαίρει-και-Βασίλευε 2 Διαίρει-και-Βασίλευε Γενική µέθοδος σχεδιασµού αλγορίθµων: Διαίρεση σε ( 2) υποπροβλήµατα (σηµαντικά) µικρότερου µεγέθους.

Διαβάστε περισσότερα

Διαίρει-και-Βασίλευε. Διαίρει-και-Βασίλευε. MergeSort. MergeSort. Πρόβλημα Ταξινόμησης: Είσοδος : ακολουθία n αριθμών (α 1

Διαίρει-και-Βασίλευε. Διαίρει-και-Βασίλευε. MergeSort. MergeSort. Πρόβλημα Ταξινόμησης: Είσοδος : ακολουθία n αριθμών (α 1 Διαίρει-και-Βασίλευε Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Διαίρει-και-Βασίλευε Γενική μέθοδος

Διαβάστε περισσότερα

Επιμέλεια διαφανειών: Δ. Φωτάκης Τροποποιήσεις-προσθήκες: Α. Παγουρτζής. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Επιμέλεια διαφανειών: Δ. Φωτάκης Τροποποιήσεις-προσθήκες: Α. Παγουρτζής. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Διαίρει-και-Βασίλευε Επιμέλεια διαφανειών: Δ. Φωτάκης Τροποποιήσεις-προσθήκες: Α. Παγουρτζής Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Διαίρει-και-Βασίλευε Γενική

Διαβάστε περισσότερα

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

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΦΡΟΝΤΙΣΤΗΡΙΟ ΑΛΓΟΡΙΘΜΩΝ ΒΟΗΘΟΣ: ΒΑΓΓΕΛΗΣ ΔΟΥΡΟΣ 1 ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΦΡΟΝΤΙΣΤΗΡΙΟ ΑΛΓΟΡΙΘΜΩΝ ΒΟΗΘΟΣ: ΒΑΓΓΕΛΗΣ ΔΟΥΡΟΣ Φροντιστήριο #10: Αλγόριθμοι Διαίρει & Βασίλευε: Master Theorem, Αλγόριθμοι Ταξινόμησης, Πιθανοτικός

Διαβάστε περισσότερα

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

ιαίρει-και-βασίλευε ημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο ιαίρει-και-βασίλευε ημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο ιαίρει-και-βασίλευε Γενική μέθοδος σχεδιασμού αλγορίθμων: ιαίρεση σε ( 2) υποπροβλήματα

Διαβάστε περισσότερα

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

Εισαγωγή στην Ανάλυση Αλγορίθμων Εισαγωγή στην Ανάλυση Αλγορίθμων (4) Μεθοδολογία αναδρομικών σχέσεων (Ι) Με επανάληψη της αναδρομής Έστω όπου r και a είναι σταθερές. Βρίσκουμε τη σχέση που εκφράζει την T(n) συναρτήσει της T(n-) την T(n)

Διαβάστε περισσότερα

Διάλεξη 17: Επανάληψη για την ενδιάμεση εξέταση. Διδάσκων: Παναγιώτης Ανδρέου. ΕΠΛ035 Δομές Δεδομένων και Αλγόριθμοι για Ηλ. Μηχ. Και Μηχ. Υπολ.

Διάλεξη 17: Επανάληψη για την ενδιάμεση εξέταση. Διδάσκων: Παναγιώτης Ανδρέου. ΕΠΛ035 Δομές Δεδομένων και Αλγόριθμοι για Ηλ. Μηχ. Και Μηχ. Υπολ. Διάλεξη 7: Επανάληψη για την ενδιάμεση εξέταση Διδάσκων: Παναγιώτης Ανδρέου ΕΠΛ35 Δομές Δεδομένων και Αλγόριθμοι για Ηλ. Μηχ. Και Μηχ. Υπολ. ΑΠΟΡΙΕΣ ΕΠΛ35 Δομές Δεδομένων και Αλγόριθμοι για Ηλ. Μηχ. Και

Διαβάστε περισσότερα

Ενότητα 1: Εισαγωγή Ασκήσεις και Λύσεις

Ενότητα 1: Εισαγωγή Ασκήσεις και Λύσεις Ενότητα 1: Εισαγωγή Ασκήσεις και Λύσεις Άσκηση 1 Αποδείξτε τη µεταβατική και τη συµµετρική ιδιότητα του Θ. Λύση Μεταβατική Ιδιότητα (ορισµός): Αν f(n) = Θ(g(n)) και g(n) = Θ(h(n)) τότε f(n)=θ(h(n)). Για

Διαβάστε περισσότερα

(Γραμμικές) Αναδρομικές Σχέσεις

(Γραμμικές) Αναδρομικές Σχέσεις (Γραμμικές) Αναδρομικές Σχέσεις Διδάσκοντες: Φ. Αφράτη, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Αναδρομικές Σχέσεις

Διαβάστε περισσότερα

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

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Ενότητα 13: Αλγόριθμοι-Μεγάλων ακεραίων- Εκθετοποίηση- Πολλαπλασιασμός πινάκων -Strassen Μαρία Σατρατζέμη Τμήμα Εφαρμοσμένης Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

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

Διάλεξη 17: O Αλγόριθμος Ταξινόμησης HeapSort Διάλεξη 17: O Αλγόριθμος Ταξινόμησης HeapSort Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Η διαδικασία PercolateDown, Δημιουργία Σωρού O Αλγόριθμος Ταξινόμησης HeapSort Υλοποίηση, Παραδείγματα

Διαβάστε περισσότερα

(Γραμμικές) Αναδρομικές Σχέσεις

(Γραμμικές) Αναδρομικές Σχέσεις (Γραμμικές) Αναδρομικές Σχέσεις ιδάσκοντες:. Φωτάκης. Σούλιου Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Αναδρομικές Σχέσεις Αναπαράσταση

Διαβάστε περισσότερα

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

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Παναγιώτης Ανδρέου Διάλεξη Ε3: Επανάληψη Επανάληψη για την ενδιάμεση εξέταση Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Παναγιώτης Ανδρέου Ε3- Είναι ισοδύναμα; typedef struct ode { t data; struct ode *ext; NODE; A. NODE ;

Διαβάστε περισσότερα

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

Προγραμματιστικές Τεχνικές Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Αγρονόμων Τοπογράφων Μηχανικών Προγραμματιστικές Τεχνικές Βασίλειος Βεσκούκης Δρ. Ηλεκτρολόγος Μηχανικός & Μηχανικός Υπολογιστών ΕΜΠ v.vescoukis@cs.ntua.gr Ρωμύλος Κορακίτης

Διαβάστε περισσότερα

Γ7.5 Αλγόριθμοι Αναζήτησης. Γ Λυκείου Κατεύθυνσης

Γ7.5 Αλγόριθμοι Αναζήτησης. Γ Λυκείου Κατεύθυνσης Γ7.5 Αλγόριθμοι Αναζήτησης Γ Λυκείου Κατεύθυνσης Εισαγωγή Αλγόριθμος αναζήτησης θεωρείται ένας αλγόριθμος, ο οποίος προσπαθεί να εντοπίσει ένα στοιχείο με συγκεκριμένες ιδιότητες, μέσα σε μία συλλογή από

Διαβάστε περισσότερα

Αριθμητικές Μέθοδοι σε Προγραμματιστικό Περιβάλλον

Αριθμητικές Μέθοδοι σε Προγραμματιστικό Περιβάλλον Τμήμα Μηχανικών Πληροφορικής Αριθμητικές Μέθοδοι σε Προγραμματιστικό Περιβάλλον Δρ. Δημήτρης Βαρσάμης Επίκουρος Καθηγητής Οκτώβριος 2014 Δρ. Δημήτρης Βαρσάμης Οκτώβριος 2014 1 / 42 Αριθμητικές Μέθοδοι

Διαβάστε περισσότερα

Διάλεξη 5η: Εντολές Επανάληψης

Διάλεξη 5η: Εντολές Επανάληψης Διάλεξη 5η: Εντολές Επανάληψης Τμήμα Επιστήμης Υπολογιστών, Πανεπιστήμιο Κρήτης Εισαγωγή στην Επιστήμη Υπολογιστών Βασίζεται σε διαφάνειες του Κ Παναγιωτάκη Πρατικάκης (CSD) Εντολές Επανάληψης CS100, 2015-2016

Διαβάστε περισσότερα

Αλγόριθμοι και Πολυπλοκότητα

Αλγόριθμοι και Πολυπλοκότητα Αλγόριθμοι και Πολυπλοκότητα Διαίρει και Βασίλευε Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Διαίρει και Βασίλευε Divide and Conquer Η τεχνική διαίρει και βασίλευε αναφέρεται

Διαβάστε περισσότερα

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

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Ενότητα 3: Ασυμπτωτικός συμβολισμός Μαρία Σατρατζέμη Τμήμα Εφαρμοσμένης Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.

Διαβάστε περισσότερα

Θέματα Προγραμματισμού Η/Υ

Θέματα Προγραμματισμού Η/Υ Πρόγραμμα Μεταπτυχιακών Σπουδών Πληροφορική και Υπολογιστική Βιοϊατρική Θέματα Προγραμματισμού Η/Υ Ενότητα 1: Εισαγωγή Θεματική Ενότητα: Εισαγωγή στον Προγραμματισμό ΘΕΜΑΤΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Η/Υ Θεματική

Διαβάστε περισσότερα

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

Πληροφορική 2. Αλγόριθμοι Πληροφορική 2 Αλγόριθμοι 1 2 Τι είναι αλγόριθμος; Αλγόριθμος είναι ένα διατεταγμένο σύνολο από σαφή βήματα το οποίο παράγει κάποιο αποτέλεσμα και τερματίζεται σε πεπερασμένο χρόνο. Ο αλγόριθμος δέχεται

Διαβάστε περισσότερα

Αλγόριθμοι Ταξινόμησης Bubble Sort Quick Sort. Αντρέας Δημοσθένους Καθηγητής Πληροφορικής Ολυμπιάδα 2012

Αλγόριθμοι Ταξινόμησης Bubble Sort Quick Sort. Αντρέας Δημοσθένους Καθηγητής Πληροφορικής Ολυμπιάδα 2012 Αλγόριθμοι Ταξινόμησης Bubble Sort Quick Sort Αντρέας Δημοσθένους Καθηγητής Πληροφορικής Ολυμπιάδα 2012 3 5 1 Ταξινόμηση - Sorting Πίνακας Α 1 3 5 5 3 1 Ταξινόμηση (Φθίνουσα) Χωρίς Ταξινόμηση Ταξινόμηση

Διαβάστε περισσότερα

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ Διάλεξη - Πολυπλοκότητα Αλγορίθμων / Επανάληψη Χρήσιμων Μαθηματικών Ορισμών Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Αλγόριθμοι, Κριτήρια Αξιολόγησης Αλγόριθμων, Γιατί αναλύουμε τους Αλγορίθμων

Διαβάστε περισσότερα

Εργαστηριακή Άσκηση 1

Εργαστηριακή Άσκηση 1 Εργαστηριακή Άσκηση 1 Επανάληψη προγραμματισμού Βασικοί Αλγόριθμοι Είσοδος τιμών από το πληκτρολόγιο Σε όλα τα προγράμματα που θα γράψουμε στην συνέχεια του εξαμήνου θα χρειαστεί να εισάγουμε τιμές σε

Διαβάστε περισσότερα

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

Δομές Δεδομένων & Αλγόριθμοι Δομές Δεδομένων & Αναζήτηση & Ταξινόμηση 1 Αναζήτηση Έχω έναν πίνακα Α με Ν στοιχεία. Πρόβλημα: Βρες αν το στοιχείο x ανήκει στον πίνακα Αν ο πίνακας είναι αταξινόμητος τότε μόνη λύση σειριακή αναζήτηση

Διαβάστε περισσότερα

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι κ. ΠΕΤΑΛΙΔΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ 1 Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται

Διαβάστε περισσότερα

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

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Δομές δεδομένων Άσκηση αυτοαξιολόγησης 1 Παναγιώτα Φατούρου Τμήμα Επιστήμης Υπολογιστών Ενότητα 1: Εισαγωγή Ασκήσεις και Λύσεις Άσκηση 1 Αποδείξτε τη µεταβατική

Διαβάστε περισσότερα

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

Δομές Δεδομένων & Αλγόριθμοι Δομές Δεδομένων & Αναζήτηση & Ταξινόμηση 1 Αναζήτηση Έχω έναν πίνακα Α με Ν στοιχεία. Πρόβλημα: Βρες αν το στοιχείο x ανήκει στον πίνακα Αν ο πίνακας είναι αταξινόμητος τότε μόνη λύση σειριακή αναζήτηση

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Στόχοι και αντικείμενο ενότητας. Πέρασμα Πίνακα σε Συνάρτηση (συν.) Πέρασμα Πίνακα σε Συνάρτηση. #8.. Ειδικά Θέματα Αλγορίθμων

Στόχοι και αντικείμενο ενότητας. Πέρασμα Πίνακα σε Συνάρτηση (συν.) Πέρασμα Πίνακα σε Συνάρτηση. #8.. Ειδικά Θέματα Αλγορίθμων Στόχοι και αντικείμενο ενότητας Πέρασμα Πίνακα σε Συνάρτηση #8.. Ειδικά Θέματα Αλγορίθμων Προβλήματα Αναζήτησης Γραμμική Αναζήτηση (Linear Search) Ενημέρωση Μέτρηση Δυαδική Αναζήτηση (Binary Search) Προβλήματα

Διαβάστε περισσότερα

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

Δομές Δεδομένων & Αλγόριθμοι - Πίνακες 1 Πίνακες Οι πίνακες έχουν σταθερό μέγεθος και τύπο δεδομένων. Βασικά πλεονεκτήματά τους είναι η απλότητα προγραμματισμού τους και η ταχύτητα. Ωστόσο δεν παρέχουν την ευελιξία η οποία απαιτείται

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Πολυπλοκότητα Αλγορίθµων

Πολυπλοκότητα Αλγορίθµων Πολυπλοκότητα Αλγορίθµων Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Πρόβληµα, Στιγµιότυπο, Αλγόριθµος Εµπειρική Θεωρητική Ανάλυση Αλγορίθµων Εργαλεία εκτίµησης πολυπλοκότητας: οι τάξεις

Διαβάστε περισσότερα

Προγραμματισμός Ι (ΗΥ120)

Προγραμματισμός Ι (ΗΥ120) Προγραμματισμός Ι (ΗΥ120) Διάλεξη 10: Ταξινόμηση Πίνακα Αναζήτηση σε Ταξινομημένο Πίνακα Πρόβλημα Δίνεται πίνακας t από Ν ακεραίους. Ζητούμενο: να ταξινομηθούν τα περιεχόμενα του πίνακα σε αύξουσα αριθμητική

Διαβάστε περισσότερα

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

Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 12: Δέντρα ΙΙ -Δυαδικά Δέντρα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Δυαδικά Δένδρα - Δυαδικά Δένδρα Αναζήτησης(ΔΔΑ) - Εύρεση Τυχαίου, Μέγιστου, Μικρότερου στοιχείου - Εισαγωγή

Διαβάστε περισσότερα

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

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Ενότητα 4: Αναδρομικές σχέσεις και ανάλυση αλγορίθμων Μαρία Σατρατζέμη Τμήμα Εφαρμοσμένης Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης

Διαβάστε περισσότερα

Κεφάλαιο 8: Προγραμματίζοντας αλγορίθμους έξυπνα και δημιουργικά

Κεφάλαιο 8: Προγραμματίζοντας αλγορίθμους έξυπνα και δημιουργικά Κεφάλαιο 8: Προγραμματίζοντας αλγορίθμους έξυπνα και δημιουργικά Η συνεχής βελτίωση του υλικού (hardware) τις τελευταίες δεκαετίες έχει σαν αποτέλεσμα την ύπαρξη πολύ ισχυρών επεξεργαστών. Αν και σε λίγα

Διαβάστε περισσότερα

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

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Ταξινόμηση. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Δομές Δεδομένων Ταξινόμηση Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Το πρόβλημα Είσοδος n αντικείμενα a 1, a 2,..., a n με κλειδιά (συνήθως σε ένα πίνακα, ή λίστα, κ.τ.λ)

Διαβάστε περισσότερα

(Γραμμικές) Αναδρομικές Σχέσεις

(Γραμμικές) Αναδρομικές Σχέσεις (Γραμμικές) Αναδρομικές Σχέσεις ιδάσκοντες: Φ. Αφράτη,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Αναδρομικές Σχέσεις Αναπαράσταση

Διαβάστε περισσότερα

Αναδρομικές Σχέσεις «ιαίρει-και-βασίλευε»

Αναδρομικές Σχέσεις «ιαίρει-και-βασίλευε» Αναδρομικές Σχέσεις «ιαίρει-και-βασίλευε» ιδάσκοντες: Φ. Αφράτη,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο ιαίρει-και-βασίλευε

Διαβάστε περισσότερα

FORTRAN και Αντικειμενοστραφής Προγραμματισμός

FORTRAN και Αντικειμενοστραφής Προγραμματισμός FORTRAN και Αντικειμενοστραφής Προγραμματισμός Παραδόσεις Μαθήματος 2016 Δρ Γ Παπαλάμπρου Επίκουρος Καθηγητής ΕΜΠ georgepapalambrou@lmentuagr Εργαστήριο Ναυτικής Μηχανολογίας (Κτίριο Λ) Σχολή Ναυπηγών

Διαβάστε περισσότερα

Ανάλυση αλγορίθμων. Χρόνος εκτέλεσης: Αναμενόμενη περίπτωση. - απαιτεί γνώση της κατανομής εισόδου

Ανάλυση αλγορίθμων. Χρόνος εκτέλεσης: Αναμενόμενη περίπτωση. - απαιτεί γνώση της κατανομής εισόδου Ανάλυση αλγορίθμων Παράμετροι απόδοσης ενός αλγόριθμου: Χρόνος εκτέλεσης Απαιτούμενοι πόροι, π.χ. μνήμη, επικοινωνία (π.χ. σε κατανεμημένα συστήματα) Προσπάθεια υλοποίησης Ανάλυση της απόδοσης Θεωρητική

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΜΑΘΗΜΑ: ΑΛΓΟΡΙΘΜΟΙ ΚΑΙ ΠΟΛΥΠΛΟΚΟΤΗΤΑ 1. α. Να βάλετε σε αύξουσα σειρά μεγέθους τις παρακάτω συναρτήσεις χρονικής πολυπλοκότητας αλγορίθμων: nlogn, n logn,

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. ΘΕΩΡΗΤΙΚΗ ΑΣΚΗΣΗ 2 ΛΥΣΕΙΣ Γραμμικές Δομές Δεδομένων, Ταξινόμηση

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. ΘΕΩΡΗΤΙΚΗ ΑΣΚΗΣΗ 2 ΛΥΣΕΙΣ Γραμμικές Δομές Δεδομένων, Ταξινόμηση ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 231: Δομές Δεδομένων και Αλγόριθμοι Εαρινό Εξάμηνο 2013 ΘΕΩΡΗΤΙΚΗ ΑΣΚΗΣΗ 2 ΛΥΣΕΙΣ Γραμμικές Δομές Δεδομένων, Ταξινόμηση Διδάσκων Καθηγητής: Παναγιώτης Ανδρέου

Διαβάστε περισσότερα

Κατ οίκον Εργασία 1 Σκελετοί Λύσεων

Κατ οίκον Εργασία 1 Σκελετοί Λύσεων ΕΠΛ Δομές Δεδομένων και Αλγόριθμοι Σεπτέμβριος 00 Κατ οίκον Εργασία Σκελετοί Λύσεων Άσκηση Αφού ξέρουμε με ακρίβεια τον αριθμό των βασικών πράξεων που εκτελεί ο κάθε αλγόριθμος σε δεδομένα μεγέθους, θα

Διαβάστε περισσότερα

Δομές Ακολουθίας- Επιλογής - Επανάληψης. Δομημένος Προγραμματισμός

Δομές Ακολουθίας- Επιλογής - Επανάληψης. Δομημένος Προγραμματισμός Δομές Ακολουθίας- Επιλογής - Επανάληψης Δομημένος Προγραμματισμός 1 Βασικές Έννοιες αλγορίθμων Σταθερές Μεταβλητές Εκφράσεις Πράξεις Εντολές 2 Βασικές Έννοιες Αλγορίθμων Σταθερά: Μια ποσότητα που έχει

Διαβάστε περισσότερα

Σχεδίαση και Ανάλυση Αλγορίθμων

Σχεδίαση και Ανάλυση Αλγορίθμων Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 4.0 Επιλογή Αλγόριθμοι Επιλογής Select και Quick-Select Σταύρος Δ. Νικολόπουλος 2016-17 Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Ιωαννίνων Webpage: www.cs.uoi.gr/~stavros

Διαβάστε περισσότερα

Στοιχεία Αλγορίθµων και Πολυπλοκότητας

Στοιχεία Αλγορίθµων και Πολυπλοκότητας Στοιχεία Αλγορίθµων και Πολυπλοκότητας Ορέστης Τελέλης telelis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς Ο. Τελέλης Πανεπιστήµιο Πειραιώς Πολυπλοκότητα 1 / 16 «Ζέσταµα» Να γράψετε τις συναρτήσεις

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ. Εισαγωγή στη Python

ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ. Εισαγωγή στη Python ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ ΠΛΗΡΟΦΟΡΙΚΗ ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Εισαγωγή στη Python Νικόλαος Ζ. Ζάχαρης Αναπληρωτής

Διαβάστε περισσότερα

Κατ οίκον Εργασία 1 Σκελετοί Λύσεων

Κατ οίκον Εργασία 1 Σκελετοί Λύσεων EΠΛ Αλγόριθµοι και Πολυπλοκότητα Φεβρουάριος 00 Κατ οίκον Εργασία Σκελετοί Λύσεων. Ο αλγόριθµος διαίρει και βασίλευε για το πρόβληµα έχει ως εξής: Μοίρασε τον πίνακα σε δύο µισά. Υπολόγισε αναδροµικά τα

Διαβάστε περισσότερα

1o Φροντιστήριο ΗΥ240

1o Φροντιστήριο ΗΥ240 1o Φροντιστήριο ΗΥ240 Άσκηση 1 Αποδείξτε τη μεταβατική και τη συμμετρική ιδιότητα του Θ Μεταβατική Ιδιότητα (ορισμός): Αν f(n) = Θ(g(n)) και g(n) = Θ(h(n)) τότε f(n)=θ(h(n)) Για να ισχύει f(n)= Θ(h(n))

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 8: Αναζήτηση και ταξινόμηση

ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 8: Αναζήτηση και ταξινόμηση ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 8: Αναζήτηση και ταξινόμηση Μιχάλης Δρακόπουλος Σχολή Θετικών επιστημών Τμήμα Μαθηματικών Αναζήτηση και ταξινόµηση 7 Αναζήτηση (search) Πρόβληµα: αναζήτηση της καταχώρησης key στη

Διαβάστε περισσότερα

Σχεδίαση Αλγορίθμων -Τμήμα Πληροφορικής ΑΠΘ - Εξάμηνο 4ο

Σχεδίαση Αλγορίθμων -Τμήμα Πληροφορικής ΑΠΘ - Εξάμηνο 4ο Πολλαπλασιασμός μεγάλων ακεραίων (1) Για να πολλαπλασιάσουμε δύο ακεραίους με n 1 και n 2 ψηφία με το χέρι, θα εκτελέσουμε n 1 n 2 πράξεις πολλαπλασιασμού Πρόβλημα ρβημ όταν έχουμε πολλά ψηφία: A = 12345678901357986429

Διαβάστε περισσότερα

Διάλεξη 17: Δυαδικά Δέντρα. Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

Διάλεξη 17: Δυαδικά Δέντρα. Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ Διάλεξη 7: Δυαδικά Δέντρα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Δυαδικά Δένδρα Δυαδικά Δένδρα Αναζήτησης Πράξεις Εισαγωγής, Εύρεσης Στοιχείου, Διαγραφής Μικρότερου Στοιχείου Διδάσκων:

Διαβάστε περισσότερα

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

Προγραμματιστικές Τεχνικές Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Αγρονόμων Τοπογράφων Μηχανικών Προγραμματιστικές Τεχνικές Βασίλειος Βεσκούκης Δρ. Ηλεκτρολόγος Μηχανικός & Μηχανικός Υπολογιστών ΕΜΠ Επικ. Καθηγητής ΕΜΠ v.vescoukis@cs.ntua.gr

Διαβάστε περισσότερα

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

Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 20: Αλγόριθμοι ΤαξινόμησηςIII Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Οι αλγόριθμοι ταξινόμησης: Ε. QuickSort Γρήγορη Ταξινόμηση - Έμμεση Ταξινόμηση - Εξωτερική Ταξινόμηση Διδάσκων:

Διαβάστε περισσότερα

Δομές Δεδομένων Ενότητα 2

Δομές Δεδομένων Ενότητα 2 ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Ενότητα 2: Θέματα Απόδοσης Απόστολος Παπαδόπουλος Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.

Διαβάστε περισσότερα

Προγραμματισμός ΗΥ και Υπολογιστική Φυσική. Χρήστος Γκουμόπουλος

Προγραμματισμός ΗΥ και Υπολογιστική Φυσική. Χρήστος Γκουμόπουλος Προγραμματισμός ΗΥ και Υπολογιστική Φυσική Χρήστος Γκουμόπουλος Προγραμματισμός ΗΥ και Υπολογιστική Φυσική Χρήστος Γκουμόπουλος Προγραμματισμός ΗΥ και Υπολογιστική Φυσική Χρήστος Γκουμόπουλος Προγραμματισμός

Διαβάστε περισσότερα

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

Αλγόριθμοι Ταξινόμησης Μέρος 2 Αλγόριθμοι Ταξινόμησης Μέρος 2 Μανόλης Κουμπαράκης 1 Προχωρημένοι Αλγόριθμοι Ταξινόμησης Στη συνέχεια θα παρουσιάσουμε τρείς προχωρημένους αλγόριθμους ταξινόμησης: treesort, quicksort και mergesort. 2

Διαβάστε περισσότερα

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ Μέρος 5ο ΝΙΚΟΛΑΟΣ ΣΤΕΡΓΙΟΥΛΑΣ ΤΜΗΜΑ ΦΥΣΙΚΗΣ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ 1 Η ΕΝΤΟΛΗ for Με την εντολή for δημιουργούμε βρόχους επανάληψης σε

Διαβάστε περισσότερα

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

Εισαγωγή στην Ανάλυση Αλγορίθμων (2-3) Εισαγωγή στην Ανάλυση Αλγορίθμων (2-3) 3.1 Ασυμπτωτικός συμβολισμός (Ι) Οι ορισμοί που ακολουθούν μας επιτρέπουν να επιχειρηματολογούμε με ακρίβεια για την ασυμπτωτική συμπεριφορά. Οι f(n) και g(n) συμβολίζουν

Διαβάστε περισσότερα

Διάλεξη 17: Επανάληψη για την ενδιάμεση εξέταση. Διδάσκων: Παναγιώτης Ανδρέου. ΕΠΛ035 Δομές Δεδομένων και Αλγόριθμοι για Ηλ. Μηχ. Και Μηχ. Υπολ.

Διάλεξη 17: Επανάληψη για την ενδιάμεση εξέταση. Διδάσκων: Παναγιώτης Ανδρέου. ΕΠΛ035 Δομές Δεδομένων και Αλγόριθμοι για Ηλ. Μηχ. Και Μηχ. Υπολ. Διάλεξη 7: Επανάληψη για την ενδιάμεση εξέταση Διδάσκων: Παναγιώτης Ανδρέου ΕΠΛ035 Δομές Δεδομένων και Αλγόριθμοι για Ηλ. Μηχ. Και Μηχ. Υπολ. ΑΠΟΡΙΕΣ ΕΠΛ035 Δομές Δεδομένων και Αλγόριθμοι για Ηλ. Μηχ.

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Ανάλυση Αλγορίθµων. Σύντοµη επανάληψη (ΕΠΛ 035).

Ανάλυση Αλγορίθµων. Σύντοµη επανάληψη (ΕΠΛ 035). Ανάλυση Αλγορίθµων Σύντοµη επανάληψη (ΕΠΛ 035). Περίληψη Ανάλυση αλγορίθµων Ο, Θ, Ω Ανάλυση µη αναδροµικών αλγόριθµων Ανάλυση αναδροµικών αλγόριθµων Εµπειρική Ανάλυση Visualization Απόδοση Αλγορίθµων Απόδοση

Διαβάστε περισσότερα

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

1. Η χειρότερη περίπτωση είναι όταν γίνου 10 επαναλήψεις, δηλαδή για n = 0. ΦΥΛΛΑΔΙΟ ΚΑΤΑΝΟΗΣΗΣ 6 ΛΥΣΕΙΣ 1. Η χειρότερη περίπτωση είναι όταν γίνου 10 επαναλήψεις, δηλαδή για n = 0. 2. Εντολή Αλγορίθμου Αριθμός Πράξεων Ανάθεση τιμών στα x,y 2 έλεγχος i 6 αύξηση i 5 εκτύπωση i 5

Διαβάστε περισσότερα

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

Αλγόριθμοι και Δομές Δεδομένων (Ι) (εισαγωγικές έννοιες) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2015-16 Αλγόριθμοι και Δομές Δεδομένων (Ι) (εισαγωγικές έννοιες) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Τι είναι

Διαβάστε περισσότερα

Δυναμικός προγραμματισμός για δέντρα

Δυναμικός προγραμματισμός για δέντρα ΘΕ5 Ιδιότητες Δέντρων και Αναδρομή για Δέντρα Δυναμικός προγραμματισμός για δέντρα Έστω ότι, για k=1,..., m, το γράφημα Γ k = (V k, E k ) είναι δέντρο. Έστω w V 1... V m, z k V k, για k=1,..., m. Συμβολίζουμε

Διαβάστε περισσότερα

Δομές ελέγχου ροής προγράμματος

Δομές ελέγχου ροής προγράμματος Δομές ελέγχου ροής προγράμματος Υπάρχουν δύο είδη δομών ελέγχου ροής (control flow): Οι δομές επιλογής και Οι δομές επανάληψης Δομές ελέγχου ροής προγράμματος Είδος δομής Δομές επιλογής Δομή ελέγχου ροής

Διαβάστε περισσότερα

Αλγόριθµοι και Πολυπλοκότητα

Αλγόριθµοι και Πολυπλοκότητα Αλγόριθµοι και Πολυπλοκότητα Ν. Μ. Μισυρλής Τµήµα Πληροφορικής και Τηλεπικοινωνιών, Πανεπιστήµιο Αθηνών Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα Φεβρουαρίου 0 / ένδρα Ενα δένδρο είναι

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Οι εντολές ελέγχου της ροής ενός προγράμματος.

Οι εντολές ελέγχου της ροής ενός προγράμματος. Κεφάλαιο ΙΙI: Οι εντολές ελέγχου της ροής ενός προγράμματος 31 Εντολές ελέγχου της ροής Στο παρόν κεφάλαιο ασχολούμαστε με την σύνταξη των εντολών της C οι οποίες εισάγουν λογική και ελέγχουν την ροή εκτέλεσης

Διαβάστε περισσότερα

Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων

Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων Άσκηση 1 α) Η δομή σταθμισμένης ένωσης με συμπίεση διαδρομής μπορεί να τροποποιηθεί πολύ εύκολα ώστε να υποστηρίζει τις

Διαβάστε περισσότερα

4. ΒΡΟΧΟΙ ΕΠΑΝΑΛΗΨΗΣ (Α' μέρος: for)

4. ΒΡΟΧΟΙ ΕΠΑΝΑΛΗΨΗΣ (Α' μέρος: for) 4. ΒΡΟΧΟΙ ΕΠΑΝΑΛΗΨΗΣ (Α' μέρος: for) 4.1 Μετρητές Ένας μετρητής (counter) είναι μία μεταβλητή η οποία ξεκινά με μία αρχική τιμή και αυξάνεται κατά ένα κάθε φορά που εκτελείται. Ο αλγόριθμος για έναν μετρητή

Διαβάστε περισσότερα

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

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Ενότητα 9: Στατιστικά Διάταξης- Στατιστικά σε Μέσο Γραμμικό Χρόνο Μαρία Σατρατζέμη Τμήμα Εφαρμοσμένης Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε

Διαβάστε περισσότερα

11/23/2014. Στόχοι. Λογισμικό Υπολογιστή

11/23/2014. Στόχοι. Λογισμικό Υπολογιστή ονάδα Δικτύων και Επικοινωνιών ΗΥ Τομέας Πληροφορικής, αθηματικών και Στατιστικής ΓΕΩΠΟΙΚΟ ΠΑΕΠΙΣΤΗΙΟ ΑΘΗΩ Εισαγωγή στην Επιστήμη των ΗΥ άθημα-4 url: http://openeclass.aua.gr (AOA0) Λογισμικό Υπολογιστή

Διαβάστε περισσότερα

Αναζήτηση και ταξινόμηση

Αναζήτηση και ταξινόμηση Αναζήτηση και ταξινόμηση Περιεχόμενα Αναζήτηση (searching): εύρεση ενός στοιχείου σε έναν πίνακα Ταξινόμηση (sorting): αναδιάταξη των στοιχείων ενός πίνακα ώστε να είναι τοποθετημένα με μια καθορισμένη

Διαβάστε περισσότερα

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

Τι είναι αλγόριθμος; Υποπρογράμματα (υποαλγόριθμοι) Βασικές αλγοριθμικές δομές Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2015-16 Αλγόριθμοι και Δομές Δεδομένων (Ι) (εισαγωγικές έννοιες) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Τι είναι

Διαβάστε περισσότερα

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

Υπολογιστικά & Διακριτά Μαθηματικά Υπολογιστικά & Διακριτά Μαθηματικά Ενότητα 5: Αναδρομικές σχέσεις - Υπολογισμός Αθροισμάτων Στεφανίδης Γεώργιος Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για

Διαβάστε περισσότερα