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

Save this PDF as:
 WORD  PNG  TXT  JPG

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

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

Transcript

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

2 Περίληψη Ανάλυση αλγορίθµων Ο, Θ, Ω Ανάλυση µη αναδροµικών αλγόριθµων Ανάλυση αναδροµικών αλγόριθµων Εµπειρική Ανάλυση Visualization

3 Απόδοση Αλγορίθµων Απόδοση Αλγορίθµου Σε σχέση µε το χρόνο που χρειάζεται για να τερµατίσει Σε σχέση µε το χώρο (µνήµη) που χρειάζεται Η απόδοση ενός αλγορίθµου εξαρτάται από το µέγεθος της εισόδου (input size) n Ο τρόπος µε τον οποίο επιλέγεται το n επηρεάζει τον υπολογισµό της τάξης (order) του αλγορίθµου! Υποθέστε πως σχεδιάζετε ένα αλγόριθµο για τον υπολογισµό του γινοµένου δύο πινάκων n n. Ποιο το µέγεθος της εισόδου; n; (οι διαστάσεις του πίνακα) N=n n; (ο αριθµός στοιχείων του πίνακα)

4 Μονάδες Μέτρησης Χρόνος ολοκλήρωσης του αλγόριθµου (δευτερόλεπτα, ώρες, µέρες ) Αποδεκτή µέθοδος για τη σύγκριση µεταξύ δύο ή περισσοτέρων αλγορίθµων Μειονεκτήµατα: Εξαρτάται από πολλές παραµέτρους που δεν έχουν σχέση µε τον αλγόριθµο! Π.χ., εξαρτάται από τη ταχύτητα και µνήµη του υπολογιστή, το λειτουργικό σύστηµα και πιθανόν στις άλλες διεργασίες που τρέχουν παράλληλα στον υπολογιστή. Φορές που εκτελείται η βασική λειτουργία (basic operation) του αλγόριθµου Βασική λειτουργία είναι η λειτουργία που επαναλαµβάνεται τις περισσότερες φορές και αναµένεται να χρειαστεί τον περισσότερο χρόνο. Ποια λειτουργία χρειάζεται τον περισσότερο χρόνο; Η πρόσθεση ή ο πολλαπλασιασµός;

5 «Εκτίµηση» του χρόνου εκτέλεσης (running time) Υποθέστε πως ο χρόνος που χρειάζεται για να εκτελεστεί η βασική λειτουργία (basic operation) είναι c op C(n) είναι ο αριθµός των φορών που εκτελείται η βασική λειτουργία εάν η είσοδος έχει µέγεθος n. Εάν Τ(n) είναι ο χρόνος εκτέλεσης (running time) τότε ισχύει:

6 «Εκτίµηση» του χρόνου εκτέλεσης (running time) Παράδειγµα: Υποθέστε πως για κάποιο αλγόριθµο ή βασική λειτουργία επαναλαµβάνεται C(n)=½ [n (n-1)] φορές Τι θα συµβεί εάν το µέγεθος της εισόδου διπλασιαστεί; Ο χρόνος εκτέλεσης του αλγόριθµου θα Παρατήρηση: Οι σταθερές c op και ½ απλοποιούνται. Συµπέρασµα: Κάποιος µπορεί να προβλέψει την απόδοση του αλγόριθµου ξέροντας µόνο (κατά προσέγγιση) την τάξη αύξησης (order of growth) του αλγόριθµου!

7 Σενάρια Υπολογισµού Η τάξη αύξησης του χρόνου εκτέλεσης µπορεί να υπολογιστεί κάτω από τις πιο κάτω συνθήκες (υποθέτοντας πως η είσοδος είναι µεγέθους n): Καλύτερη Περίπτωση (best case). Το σενάριο στο οποίο ο αλγόριθµος παρουσιάζει την καλύτερη απόδοση. Αυτό το σενάριο δεν υλοποιείται συχνά! Χειρότερη Περίπτωση (worst case) Παρόλο που δεν είναι πάντοτε αντιπροσωπευτικό, στις πλείστες περιπτώσεις η τάξη του σεναρίου είναι αντιπροσωπευτική. Μέση Περίπτωση (average case) Η πιο αντιπροσωπευτική περίπτωση Δύσκολο να υπολογιστεί αφού χρειάζεται υποθέσεις για την κατανοµή των δεδοµένων εισόδου.

8 Παράδειγµα Search(A[], K) i=0 While (i<n) and (A[i]!= K) i=i+1; If i<n return i; Return -1; Καλύτερη Περίπτωση: Χειρότερη Περίπτωση: Μέση Περίπτωση: p πιθανότητα επιτυχίας 1-p πιθανότητα το κλειδί K δεν βρίσκεται στη λίστα Α[] Εάν το κλειδί βρίσκεται στην λίστα τότε µπορεί να βρεθεί σε οποιαδήποτε θέση µε ίση πιθανότητα

9 Συµβολισµός O() Μία συνάρτηση f(n) ανήκει στο σύνολο Ο(g(n)) (f(n) Ο(g(n))) εάν υπάρχουν σταθερές c και n 0 έτσι ώστε n

10 Συµβολισµός Ω() Μία συνάρτηση f(n) ανήκει στο σύνολο Ω(g(n)) (f(n) Ω(g(n))) εάν υπάρχουν σταθερές c και n 0 έτσι ώστε n 0 n

11 Συµβολισµός Θ() Μία συνάρτηση f(n) ανήκει στο σύνολο Θ(g(n)) (f(n) Θ(g(n))) εάν υπάρχουν σταθερές c 1, c 2 και n 0 έτσι ώστε f(n) n 0 n

12 Παράδειγµα Υποθέστε ότι: Ποια από τα πιο κάτω ισχύουν:

13 Θεώρηµα Υποθέστε ότι f 1 (n) Ο(g 1 (n)) και f 2 (n) Ο(g 2 (n)), τότε ισχύει ότι Απόδειξη Γιατί το θεώρηµα αυτό είναι σηµαντικό;

14 Όρια (limits) Γιατί η πιο πάνω «ιδιότητα» είναι πολύ χρήσιµη; Κανόνας του L Hospital

15 Παράδειγµα Συγκρίνεται την τάξη αύξησης των n(n-1)/2 και n 2 Συγκρίνεται την τάξη αύξησης των συναρτήσεων n! και 2 n Φόρµουλα του Stirling για µεγάλα n:

16 Συνήθεις Συναρτήσεις Σταθερά Ο(1): (constant) Καλύτερη δυνατή περίπτωση, παρόλο που σπάνια θα βρει κάποιος αλγόριθµο αυτής της τάξης. Είναι επιθυµητό η βασική λειτουργία του αλγόριθµου να είναι Ο(1). Λογαριθµική Ο(log n): (logarithmic) Δεν παίζει ρόλο η βάση του λογαρίθµου. Γιατί; Αποδοτικοί αλγόριθµοι οι οποίοι µοιράζουν το πρόβληµα σε υποπροβλήµατα και λύνουν µόνο ένα µέρος τους Αλγόριθµοι που δεν «χρησιµοποιούν» όλα τα δεδοµένα. Γιατί; Γραµµική Ο(n): (linear) Αλγόριθµοι που σαρώνουν τα δεδοµένα ένα σταθερό αριθµό φορών (που δεν εξαρτάται από το µέγεθος των δεδοµένων). n-log-n Ο(n log n): Αλγόριθµοι του τύπου divide-and-conquer (Αλγόριθµοι που µοιράζουν το πρόβληµα σε υποπροβληµάτα τα οποία λύνου συνήθως αναδροµικά).

17 Συνήθεις Συναρτήσεις Δευτεροβάθµια Ο(n 2 ): (quadratic) Αλγόριθµοι µε δύο ενθυλακωµένους βρόγχους (embedded loops). Π.χ., Απλοί αλγόριθµοι ταξινόµησης Τριτοβάθµια Ο(n 3 ): (cubic) Αλγόριθµοι µε τρεις ενθυλακωµένους βρόγχους (embedded loops). Π.χ., αλγόριθµοι γραµµικής άλγεβρας (πολλαπλασιασµός πινάκων) Εκθετική Ο(2 n ): (exponential) Αλγόριθµοι που ελέγχουν όλα τα δυνατά υποσύνολα του προβλήµατος Παρόλο που η βάση της δύναµης αλλάζει τον ρυθµό αύξησης της συνάρτησης, ο όρος «εκθετική» χρησιµοποιείται για όλες τις βάσεις. Δύσκολα προβλήµατα! Παραγοντική Ο(n!): (factorial) Αλγόριθµοι που ελέγχουν όλους τους πιθανούς συνδυασµούς (permutations).

18 Μαθηµατική Ανάλυση Μη-Αναδροµικών (non-recursive) Αλγορίθµων Ορίστε το µέγεθος της εισόδου n (input size) Ποια παράµετρος χαρακτηρίζει τα δεδοµένα εισόδου Αναγνωρίστε τη βασική λειτουργία (basic operation) του αλγορίθµου Βρίσκεται στον πιο «εσωτερικό» βρόγχο (inner most loop). Είναι Ο(1). Από τι εξαρτάται ο αριθµός φορών που θα εκτελεστεί η βασική λειτουργία; Από το µέγεθος των δεδοµένων εισόδου. Διαφέρουν η καλύτερη και χειρότερη περίπτωση εισόδου; Βρείτε το άθροισµα που αθροίζει τις φορές που εκτελείται η βασική λειτουργία του αλγόριθµου. Υπολογίστε το άθροισµα

19 Παράδειγµα Search(A[], K) i=0 While (i<n) and (A[i]!= K) i=i+1; if i<n return i; Return -1; Καλύτερη Περίπτωση: Χειρότερη Περίπτωση: Μέση Περίπτωση:

20 Αθροίσµατα Ορισµός: Ιδιότητες: Συνήθη Αθροίσµατα (k n): n i= k n i=1 n i=0 1 = = n k + 1 i = n = a i = 1+ a + a 2 + a n = n( n + 1) 2 1 a n+1 1 a

21 Παράδειγµα Γράψτε και αναλύστε ένα απλό αλγόριθµο που να ελέγχει κατά πόσο τα στοιχεία µιας λίστας είναι µοναδικά (δεν υπάρχουν δύο τα ίδια). unique(a[0 n-1]) for i=0 to n-2 for j=i+1 to n-1 if A[i]= A[j] return false; return true; Καλύτερη Περίπτωση: Χειρότερη Περίπτωση:

22 Παράδειγµα Γράψτε και αναλύστε ένα απλό αλγόριθµο που να πολλαπλασιάζει δύο πίνακες nxn matrixmulti(a[0 n-1],b[0 n-1]) for i=0 to n-1 for j=0 to n-1 M[i,j]=0; for k=0 to n-1 M[i,j]=M[i,j]+A[1,k]*B[k,j];

23 Μαθηµατική Ανάλυση Αναδροµικών (recursive) Αλγορίθµων Αναδροµικοί Αλγόριθµοι Αλγόριθµοι οι οποίοι για να λύσουν ένα πρόβληµα «καλούν» το εαυτό τους µε διαφορετικό όρισµα. Παράδειγµα Factorial Fact(n) if n<=1 return 1; return n*fact(n-1); Fibonacci numbers: Fib(n) if n=0 return 0; if n=1 return 1; return Fib(n-1)+Fib(n-2);

24 Οι πύργοι του Hanoi Tower of Hanoi: Στόχος του παιγνιδιού είναι να µεταφερθούν (ένας-ένας) όλοι οι δίσκοι από την κολόνα A στη C, χωρίς ποτέ να τοποθετηθεί µεγαλύτερος δίσκος πάνω από µικρότερο.

25 Οι Πύργοι του Hanoi Αναδροµικός αλγόριθµος Βασική ιδέα: Να µεταφερθούν οι n-1 δίσκοι στην ενδιάµεση κολόνα Να µεταφερθεί ο µεγαλύτερος δίσκος στη σωστή κολόνα Τέλος, να µεταφερθούν οι υπόλοιποι n-1 δίσκοι στην σωστή κολόνα hanoi(n, source, dest, by) if (n==1) move disc from source to dest; else hanoi(n-1, souce, by, dest); move disc from source to dest; hanoi(n-1, by, dest, source);

26 Μαθηµατική Ανάλυση Αναδροµικών (recursive) Αλγορίθµων Ορίστε το µέγεθος της εισόδου n (input size) Ποια παράµετρος χαρακτηρίζει τα δεδοµένα εισόδου Αναγνωρίστε τη βασική λειτουργία (basic operation) του αλγορίθµου Από τι εξαρτάται ο αριθµός των φορών που θα εκτελεστεί η βασική λειτουργία; Από το µέγεθος των δεδοµένων εισόδου. Διαφέρουν η καλύτερη και χειρότερη περίπτωση εισόδου; Βρείτε τη αναδροµική σχέση που χαρακτηρίζει τον αριθµό φορών που εκτελείται η βασική λειτουργία και τη σχετική αρχική κατάσταση (initial condition). Λύστε την αναδροµική σχέση η τουλάχιστον βρείτε την τάξη αύξησης της λύσης (ΗΜΥ320).

27 Παράδειγµα Fact(n) if n<=1 return 1; return n*fact(n-1); Καλύτερη, Χειρότερη, ή Μέση Περίπτωση; Συµβολίστε µε M(n) τον αριθµό των πολλαπλασιασµών που θα εκτελεστούν για µια είσοδο n. Λύση µε τη µέθοδο αντικατάστασης.

28 Παράδειγµα Πόσα bits χρειάζονται για να γράψουµε το n σε δυαδική µορφή. Bin(n) if n=1 return 1; return Bin(floor(n/2))+1; Συµβολίστε µε Α(n) τον αριθµό των προσθέσεων που θα εκτελεστούν για µια είσοδο n. Υποθέστε πως το n είναι δύναµη του 2, δηλαδή n=2 k Λύση µε τη µέθοδο αντικατάστασης. Το αποτέλεσµα ισχύει για όλες τις τιµές του n.

29 Λύση Δευτεροβάθµιας Οµοιογενούς Αναδροµικής Εξίσωσης Υποθέστε την ακόλουθη οµοιογενή δευτεροβάθµια αναδροµικής εξίσωση και δεδοµένες κάποιες αρχικές συνθήκες Η λύση µπορεί να βρεθεί µε µετασχηµατισµούς z Βρίσκουµε και λύνουµε τη χαρακτηριστική εξίσωση Εάν ζ 1 ζ 2 πραγµατικές, Εάν ζ 1 =ζ 2 =ζ πραγµατικές, Εάν µιγαδικές

30 Παράδειγµα: Fibonacci Numbers Χαρακτηριστική εξίσωση:

31 Παράδειγµα: Αναδροµικός αλγόριθµος για τον υπολογισµό αριθµών Fibonacci. Fib(n) if n=0 return 0; if n=1 return 1; return Fib(n-1)+Fib(n-2); Συµβολίστε µε Α(n) τον αριθµό των προσθέσεων που θα εκτελεστούν για µια είσοδο n Υποθέστε A(n)=B(n)-1 Τελικά βρίσκουµε ότι ( ) = B( n) 1 = 1 5 ζ 1 A n ( n+1 n+1 ζ ) 2 1

32 Παράδειγµα: Μη-Αναδροµικός αλγόριθµος για τον υπολογισµό αριθµών Fibonacci. Fib(n) F[0]=0; F[1]=1; for i=2 to n F[i]=F[i-1]+F[i-2]; return F[n]; Μέγεθος εισόδου n Παρόλο που οι αναδροµικοί αλγόριθµοι φαίνονται απλοί, πολλές φορές µπορεί να µην είναι καθόλου αποδοτικοί! Τι πήγε «λάθος» στην αναδροµική έκδοση του αλγορίθµου υπολογισµού των αριθµών Fibonacci;

33 Εµπειρική Ανάλυση Αλγορίθµων Κατανόηση του πειράµατος Τι προσπαθείτε να δείξετε; Πολλές φορές υπάρχουν τυποποιηµένα προβλήµατα µε τα οποία µπορείτε να συγκρίνεται τα αποτελέσµατα σας. Μονάδες µέτρησης (χρόνος (ms) ή αριθµός φορών εκτέλεσης βασικών λειτουργιών) Σε συστήµατα πολυπρογραµµατισµού (multiprogramming) είναι σηµαντικό να µετράτε µόνο τον χρόνο κατά τον οποίο το πρόγραµµα σας είχε πρόσβαση στο CPU. Τι συµβαίνει αν ο χρόνος που χρειάζεται ο αλγόριθµος είναι πολύ µικρός; Τι χαρακτηριστικά θα πρέπει να έχουν τα δεδοµένα εισόδου Καλύτερη, χειρότερη ή µέση περίπτωση. Γεννήτρια τυχαίων αριθµών (random number generator).

34 Εµπειρική Ανάλυση Αλγορίθµων Υλοποίηση του αλγορίθµου Βεβαιωθείτε ότι ο αλγόριθµος και οι συναρτήσεις µετρήσεων υλοποιήθηκαν σωστά. Τρέξτε τον αλγόριθµο για διαφορετικές εισόδους και κρατήστε τις µετρήσεις ή άλλα δεδοµένα Αναλύστε (συνήθως µε στατιστικές µεθόδους) τα δεδοµένα.

35 Οπτική Παρακολούθηση (visualization) Αλγορίθµων Ψάξτε στο Ίντερνετ για υλοποίηση αλγορίθµων µε animation. Στείλτε µου µε τη διεύθυνση κάθε «ενδιαφέρον» αλγορίθµου µε animation που βρίσκετε. Μπορεί να είναι ιδιαίτερα βοηθητικοί για την καλύτερη κατανόηση του αλγορίθµου.

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

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

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

Ορθότητα Χωρική αποδοτικότητα. Βελτιστότητα. Θεωρητική ανάλυση Εμπειρική ανάλυση. Αλγόριθμοι - Τμήμα Πληροφορικής ΑΠΘ -4ο εξάμηνο 1

Ορθότητα Χωρική αποδοτικότητα. Βελτιστότητα. Θεωρητική ανάλυση Εμπειρική ανάλυση. Αλγόριθμοι - Τμήμα Πληροφορικής ΑΠΘ -4ο εξάμηνο 1 Ανάλυση Αλγορίθμων Θέματα Θέματα: Ορθότητα Χρονική αποδοτικότητα Χωρική αποδοτικότητα Βελτιστότητα Προσεγγίσεις: Θεωρητική ανάλυση Εμπειρική ανάλυση Αλγόριθμοι - Τμήμα Πληροφορικής ΑΠΘ -4ο εξάμηνο 1 Θεωρητική

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

Δομές Δεδομένων (Data Structures)

Δομές Δεδομένων (Data Structures) Δομές Δεδομένων (Data Structures) Ανάλυση - Απόδοση Αλγορίθμων Έλεγχος Αλγορίθμων. Απόδοση Προγραμμάτων. Χωρική/Χρονική Πολυπλοκότητα. Ασυμπτωτικός Συμβολισμός. Παραδείγματα. Αλγόριθμοι: Βασικές Έννοιες

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

Αλγόριθµοι Τύπου Μείωσης Προβλήµατος

Αλγόριθµοι Τύπου Μείωσης Προβλήµατος Αλγόριθµοι Τύπου Μείωσης Προβλήµατος Περίληψη Αλγόριθµοι Τύπου Μείωσης Προβλήµατος ( Decrease and Conquer ) Μείωση κατά µια σταθερά (decrease by a constant) Μείωση κατά ένα ποσοστό (decrease by a constant

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

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

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

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

ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ. Αρχές Ανάλυσης Αλγορίθµων Κεφάλαιο 2. Ε. Μαρκάκης Επικ. Καθηγητής

ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ. Αρχές Ανάλυσης Αλγορίθµων Κεφάλαιο 2. Ε. Μαρκάκης Επικ. Καθηγητής ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ Αρχές Ανάλυσης Αλγορίθµων Κεφάλαιο 2 Ε. Μαρκάκης Επικ. Καθηγητής Περίληψη Εµπειρική ανάλυση αλγορίθµων Μαθηµατική ανάλυση αλγορίθµων Αύξηση συναρτήσεων Συµβολισµός µεγάλου όµικρον Παραδείγµατα

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

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

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

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

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

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

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

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

Α Ν Α Λ Τ Η Α Λ Γ Ο Ρ Ι Θ Μ Ω Ν Κ Ε Υ Α Λ Α Ι Ο 5. Πως υπολογίζεται ο χρόνος εκτέλεσης ενός αλγορίθμου; 5.1 Επίδοση αλγορίθμων Μέχρι τώρα έχουμε γνωρίσει διάφορους αλγόριθμους (αναζήτησης, ταξινόμησης, κ.α.). Στο σημείο αυτό θα παρουσιάσουμε ένα τρόπο εκτίμησης της επίδοσης (performance) η της αποδοτικότητας

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

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

Αλγόριθμοι και Πολυπλοκότητα Αλγόριθμοι και Πολυπλοκότητα Ανάλυση Αλγορίθμων Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ανάλυση Αλγορίθμων Η ανάλυση αλγορίθμων περιλαμβάνει τη διερεύνηση του τρόπου

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

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

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

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

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

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

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

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

Κεφάλαιο 5 Ανάλυση Αλγορίθμων Κεφάλαιο 5 Ανάλυση Αλγορίθμων 5.1 Επίδοση αλγορίθμων Τα πρωταρχικά ερωτήματα που προκύπτουν είναι: 1. πώς υπολογίζεται ο χρόνος εκτέλεσης ενός αλγορίθμου; 2. πώς μπορούν να συγκριθούν μεταξύ τους οι διάφοροι

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

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

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

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

Ασυμπτωτικός Συμβολισμός

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

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

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

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

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

Αναδρομικοί Αλγόριθμοι

Αναδρομικοί Αλγόριθμοι Αναδρομικός αλγόριθμος (recursive algorithm) Επιλύει ένα πρόβλημα λύνοντας ένα ή περισσότερα στιγμιότυπα του ίδιου προβλήματος. Αναδρομικός αλγόριθμος (recursive algorithm) Επιλύει ένα πρόβλημα λύνοντας

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

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

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

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

Διάλεξη 15: Αναδρομή (Recursion) Διδάσκων: Παναγιώτης Ανδρέου

Διάλεξη 15: Αναδρομή (Recursion) Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 15: Αναδρομή (Recursion) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Η έννοια της αναδρομής Μη αναδρομικός / Αναδρομικός Ορισμός Συναρτήσεων Παραδείγματα Ανάδρομης Αφαίρεση της Αναδρομής

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

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

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

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

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

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

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

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

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

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

Ανάλυση Αλγορίθµων 4. Πειραµατικές Μελέτες. Χρόνος Εκτέλεσης. Περιγραφή και Υλικό Ανάγνωσης

Ανάλυση Αλγορίθµων 4. Πειραµατικές Μελέτες. Χρόνος Εκτέλεσης. Περιγραφή και Υλικό Ανάγνωσης Ανάλυση Αλγορίθµων Είσοδος Αλγόριθµος Έξοδος Περιγραφή και Υλικό Ανάγνωσης Χρόνος εκτέλεσης (.) Ψευδοκώδικας (.) Μέτρηση των στοιχειωδών πράξεων (.) Ασυµπτωτική σηµειογραφία (.2) Ασυµπτωτική ανάλυση (.2)

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

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

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

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

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

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

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

ΚΕΦΑΛΑΙΟ 5: Αλγόριθµοι

ΚΕΦΑΛΑΙΟ 5: Αλγόριθµοι ΚΕΦΑΛΑΙΟ 5: Αλγόριθµοι 5.1 Η έννοια του αλγορίθµου 5.2 Αναπαράσταση αλγορίθµων 5.3 Επινόηση αλγορίθµων 5.4 Δοµές επανάληψης 5.5 Αναδροµικές δοµές 1 Αλγόριθµος: Ορισµός Ένας αλγόριθµος είναι ένα διατεταγµένο

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

Χαρακτηριστικά αναδροµής

Χαρακτηριστικά αναδροµής Χαρακτηριστικά αναδροµής base case : συνθήκη τερµατισµού της αναδροµής Όταν το πρόβληµα είναι αρκετά µικρό ή απλό ώστε η λύση να είναι άµεση αναδροµικό βήµα : κλήση της ίδιας συνάρτησης για µικρότερη ή

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

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

Αναδρομή Ανάλυση Αλγορίθμων Αναδρομή Ανάλυση Αλγορίθμων Παράδειγμα: Υπολογισμός του παραγοντικού Ορισμός του n! n! = n x (n - 1) x x 2 x 1 Ο παραπάνω ορισμός μπορεί να γραφεί ως n! = 1 αν n = 0 n x (n -1)! αλλιώς Παράδειγμα (συνέχ).

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

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

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

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

τις αναδρομικές ακολουθίες (recursive sequences) στις οποίες ορίζαμε

τις αναδρομικές ακολουθίες (recursive sequences) στις οποίες ορίζαμε Κεφάλαιο 9: Αναδρομή Ο τρόπος με τον οποίο σκεφτήκαμε και σχεδιάσαμε τις συναρτήσεις στο προηγούμενο κεφάλαιο ακολουθούσε τη φιλοσοφία του προγραμματισμού που είχαμε αναπτύξει σε όλο το προηγούμενο βιβλίο.

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

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

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

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

ΗΥ240: οµές εδοµένων

ΗΥ240: οµές εδοµένων ΗΥ240: οµές εδοµένων ιδάσκουσα: Παναγιώτα Φατούρου Υποχρεωτικό Μάθηµα 2ου έτους Τµήµα Επιστήµης Υπολογιστών Πανεπιστήµιο Κρήτης Ενότητα 1 Εισαγωγή ΗΥ240 - Παναγιώτα Φατούρου 2 Εισαγωγικά Θέµατα Αντικείµενο

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

Ασκήσεις (2) Άσκηση 1

Ασκήσεις (2) Άσκηση 1 Άσκηση 1 Ασκήσεις () Εισαγωγή στην Ανάλυση Αλγορίθμων Υποθέστε ότι συγκρίνουμε την υλοποίηση της ταξινόμησης με εισαγωγή και της ταξινόμησης με συγχώνευση στον ίδιο υπολογιστή. Για εισόδους μεγέθους n,

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

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

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Εισαγωγή. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Δομές Δεδομένων Εισαγωγή Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Βιβλιογραφία Robert Sedgewick, Αλγόριθμοι σε C, Μέρη 1-4 (Θεμελιώδεις Έννοιες, Δομές Δεδομένων, Ταξινόμηση,

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

Εισαγωγή στους Αλγόριθµους. Αλγόριθµοι. Ιστορικά Στοιχεία. Ο πρώτος Αλγόριθµος. Παραδείγµατα Αλγορίθµων. Τι είναι Αλγόριθµος

Εισαγωγή στους Αλγόριθµους. Αλγόριθµοι. Ιστορικά Στοιχεία. Ο πρώτος Αλγόριθµος. Παραδείγµατα Αλγορίθµων. Τι είναι Αλγόριθµος Εισαγωγή στους Αλγόριθµους Αλγόριθµοι Τι είναι αλγόριθµος; Τι µπορεί να υπολογίσει ένας αλγόριθµος; Πως αξιολογείται ένας αλγόριθµος; Παύλος Εφραιµίδης pefraimi@ee.duth.gr Αλγόριθµοι Εισαγωγικές Έννοιες

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

ΗΜΥ 325: Επαναληπτικές Μέθοδοι. Διδάσκων: Χρίστος Παναγιώτου

ΗΜΥ 325: Επαναληπτικές Μέθοδοι. Διδάσκων: Χρίστος Παναγιώτου ΗΜΥ 325: Επαναληπτικές Μέθοδοι Διδάσκων: Χρίστος Παναγιώτου ΗΜΥ 325: Επαναληπτικές Μέθοδοι. A. Levitin, Introduction to the Design and Analysis of Algorithms, 2 nd Ed. Περίληψη µαθήµατος Επιπρόσθετες Πληροφορίες

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

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

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

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

Αλγόριθμοι και πολυπλοκότητα Ανάλυση αλγορίθμων

Αλγόριθμοι και πολυπλοκότητα Ανάλυση αλγορίθμων ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Αλγόριθμοι και πολυπλοκότητα Ανάλυση αλγορίθμων Ιωάννης Τόλλης Τμήμα Επιστήμης Υπολογιστών Aνάλυση Αλγορίθμων Είσοδος Αλγόριθμος Έξοδος Ένας αλγόριθμος είναι μια

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

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

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

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

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

Δομές Δεδομένων και Αλγόριθμοι Δομές Δεδομένων και Αλγόριθμοι Χρήστος Γκόγκος ΤΕΙ Ηπείρου, Τμήμα Μηχανικών Πληροφορικής ΤΕ Χειμερινό Εξάμηνο 2014-2015 (Παρουσίαση 5) 1 / 17 Απόδοση προγραμμάτων Συχνά χρειάζεται να εκτιμηθεί η απόδοση

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

Αλγόριθµοι Brute-Force και Διεξοδική Αναζήτηση

Αλγόριθµοι Brute-Force και Διεξοδική Αναζήτηση Αλγόριθµοι Brute-Force και Διεξοδική Αναζήτηση Περίληψη Αλγόριθµοι τύπου Brute-Force Παραδείγµατα Αναζήτησης Ταξινόµησης Πλησιέστερα σηµεία Convex hull Βελτιστοποίηση Knapsack problem Προβλήµατα Ανάθεσης

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

Quicksort [Hoare, 62] Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Quicksort 1

Quicksort [Hoare, 62] Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Quicksort 1 Quicksort [Hoare, 62] Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Quicksort 1 Quicksort [Hoare, 62] Στοιχείο διαχωρισµού (pivot), π.χ. πρώτο, τυχαίο, Αναδιάταξη και διαίρεση εισόδου σε δύο υπο-ακολουθίες:

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

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

Δομές Δεδομένων και Αλγόριθμοι Δομές Δεδομένων και Αλγόριθμοι Χρήστος Γκόγκος ΤΕΙ Ηπείρου, Τμήμα Μηχανικών Πληροφορικής ΤΕ Χειμερινό Εξάμηνο 2014-2015 (Παρουσίαση 6) 1 / 20 Ρυθμοί αύξησης Γραμμικός ρυθμός αύξησης: n, 2n, Πολυωνυμικός

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

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

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

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

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

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

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

Ν!=1*2*3* *(N-1) * N => N! = (Ν-1)! * N έτσι 55! = 54! * 55

Ν!=1*2*3* *(N-1) * N => N! = (Ν-1)! * N έτσι 55! = 54! * 55 ΑΝΑ ΡΟΜΗ- ΑΣΚΗΣΕΙΣ Μια µέθοδος είναι αναδροµική όταν καλεί τον εαυτό της και έχει µια συνθήκη τερµατισµού π.χ. το παραγοντικό ενός αριθµού Ν, µπορεί να καλεί το παραγοντικό του αριθµού Ν-1 το παραγοντικό

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

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

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

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

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

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

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

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

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

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

Για τις λύσεις των προβλημάτων υπάρχει τρόπος εκτίμησης της επίδοσης (performance) και της αποδοτικότητας (efficiency). Ερωτήματα για την επίδοση

Για τις λύσεις των προβλημάτων υπάρχει τρόπος εκτίμησης της επίδοσης (performance) και της αποδοτικότητας (efficiency). Ερωτήματα για την επίδοση Επίδοση Αλγορίθμων Για τις λύσεις των προβλημάτων υπάρχει τρόπος εκτίμησης της επίδοσης (performance) και της αποδοτικότητας (efficiency). Ερωτήματα για την επίδοση πώς υπολογίζεται ο χρόνος εκτέλεσης

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

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

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

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

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

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

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

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

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

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

Αριθμοθεωρητικοί Αλγόριθμοι

Αριθμοθεωρητικοί Αλγόριθμοι Αλγόριθμοι που επεξεργάζονται μεγάλους ακέραιους αριθμούς Μέγεθος εισόδου: Αριθμός bits που απαιτούνται για την αναπαράσταση των ακεραίων. Έστω ότι ένας αλγόριθμος λαμβάνει ως είσοδο έναν ακέραιο Ο αλγόριθμος

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

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

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

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

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

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

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

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

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Δοµές Δεδοµένων ΟΝΟΜΑΤΕΠΩΝΥΜΟ: ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ AM: Δοµές Δεδοµένων Πτυχιακή Εξεταστική Ιούλιος 2014 Διδάσκων : Ευάγγελος Μαρκάκης 09.07.2014 ΥΠΟΓΡΑΦΗ ΕΠΟΠΤΗ: Διάρκεια εξέτασης : 2 ώρες

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

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

Αλγόριθμοι Αναζήτησης Αλγόριθμοι Αναζήτησης ημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.

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

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

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Διακριτά Μαθηματικά. Ενότητα 1: Ανάλυση Αλγορίθμων Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Διακριτά Μαθηματικά Ενότητα 1: Ανάλυση Αλγορίθμων Αν. Καθηγητής Κ. Στεργίου e-mail: kstergiou@uowm.gr Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Άδειες

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

ρυθιμός αύξησης συναρτήσεων

ρυθιμός αύξησης συναρτήσεων ρυθμός αύξησης συναρτήσεων Παύλος Εφραιμίδης 1 περιεχόμενα Ασυμπτωτικός συμβολισμός Καθιερωμένοι συμβολισμοί και συνήθεις συναρτήσεις 2 ασυμπτωτική πολυπλοκότητα Πολυπλοκότητα χειρότερης περίπτωσης Συγχωνευτική

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

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

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

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

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

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

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

ΑΛΓΟΡΙΘΜΟΙ Άνοιξη I. ΜΗΛΗΣ

ΑΛΓΟΡΙΘΜΟΙ  Άνοιξη I. ΜΗΛΗΣ ΑΛΓΟΡΙΘΜΟΙ http://eclass.aueb.gr/courses/inf161/ Άνοιξη 2016 - I. ΜΗΛΗΣ ΠΑΡΑΔΕΙΓΜΑΤΑ ΑΛΓΟΡΙΘΜΩΝ ΚΑΙ ΠΟΛΥΠΛΟΚΟΤΗΤΑΣ ΑΛΓΟΡΙΘΜΟΙ - ΑΝΟΙΞΗ 2016 - Ι. ΜΗΛΗΣ - 03 - EXAMPLES ALG & COMPL 1 Example: GCD συνάρτηση

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

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

Εισαγωγή στους Αλγορίθμους Εισαγωγή στους Αλγορίθμους Ενότητα 5η Διδάσκων Χρήστος Ζαρολιάγκης Καθηγητής Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Πατρών Email: zaro@ceid.upatras.gr Η Μέθοδος «Διαίρει & Βασίλευε» Η Μέθοδος

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

ΑΣΥΜΠΤΩΤΙΚΗ ΑΝΑΛΥΣΗ & ΠΡΟΣΘΕΣΗ

ΑΣΥΜΠΤΩΤΙΚΗ ΑΝΑΛΥΣΗ & ΠΡΟΣΘΕΣΗ ΑΣΥΜΠΤΩΤΙΚΗ ΑΝΑΛΥΣΗ & ΠΡΟΣΘΕΣΗ Θέματα μελέτης Ορθότητα και απόδοση αλγορίθμων Παρουσίαση και ανάλυση αλγορίθμου για πρόσθεση Al Khwarizmi Αλγόριθμοι Το δεκαδικό σύστημα εφευρέθηκε στην Ινδία περίπου το

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

O Χρόνος Εκτέλεσης. προγραμμάτων ΚΕΦΑΛΑΙΟ 3. Τα θέματα αυτού του κεφαλαίου

O Χρόνος Εκτέλεσης. προγραμμάτων ΚΕΦΑΛΑΙΟ 3. Τα θέματα αυτού του κεφαλαίου ΚΕΦΑΛΑΙΟ 3 O Χρόνος Εκτέλεσης Προγραμμάτων Στο Κεφάλαιο 2 είδαμε δύο ριζικά διαφορετικούς αλγόριθμους ταξινόμησης: τον αλγόριθμο ταξινόμησης με εισαγωγή και τον αλγόριθμο ταξινόμησης με συγχώνευση. Υπάρχουν,

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

Διάλεξη 16: Σωροί. Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Ουρές Προτεραιότητας - Ο ΑΤΔ Σωρός, Υλοποίηση και πράξεις

Διάλεξη 16: Σωροί. Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Ουρές Προτεραιότητας - Ο ΑΤΔ Σωρός, Υλοποίηση και πράξεις ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 1 Διάλεξη 16: Σωροί Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Ουρές Προτεραιότητας - Ο ΑΤΔ Σωρός, Υλοποίηση και πράξεις Ουρά Προτεραιότητας Η δομή

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

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

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

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

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

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

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

Εφαρμοσμένη Κρυπτογραφία Ι

Εφαρμοσμένη Κρυπτογραφία Ι Εφαρμοσμένη Κρυπτογραφία Ι Κωνσταντίνου Ελισάβετ ekonstantinou@aegean.gr http://www.icsd.aegean.gr/ekonstantinou Stream ciphers Η διαδικασία κωδικοποίησης για έναν stream cipher συνοψίζεται παρακάτω: 1.

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

Θεωρια Αριθµων Προβληµατα

Θεωρια Αριθµων Προβληµατα Θεωρια Αριθµων Προβληµατα Μιχάλης Κολουντζάκης Τµήµα Μαθηµατικών και Εφαρµοσµένων Μαθηµατικών Πανεπιστήµιο Κρήτης Βούτες 700 3 Ηράκλειο 6 Απριλίου 205 Πολλές από τις παρακάτω ασκήσεις είναι από το ϐιβλίο

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

Αλγόριθµοι Divide-and- Conquer

Αλγόριθµοι Divide-and- Conquer Αλγόριθµοι Divide-and- Conquer Περίληψη Αλγόριθµοι Divide-and-Conquer Master Theorem Παραδείγµατα Αναζήτηση Ταξινόµηση Πλησιέστερα σηµεία Convex Hull Αλγόριθµοι Divide-and-Conquer Γενική Μεθοδολογία Το

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

ΑΛΓΟΡΙΘΜΟΙ & ΣΤΟΙΧΕΙΑ ΠΟΛΥΠΛΟΚΟΤΗΤΑΣ

ΑΛΓΟΡΙΘΜΟΙ & ΣΤΟΙΧΕΙΑ ΠΟΛΥΠΛΟΚΟΤΗΤΑΣ ΑΛΓΟΡΙΘΜΟΙ & ΣΤΟΙΧΕΙΑ ΠΟΛΥΠΛΟΚΟΤΗΤΑΣ Περίγραµµα Εισαγωγή Στοιχεία Πολυπλοκότητας Ηλίας Κ. Σάββας Επίκουρος Καθηγητής Τμήμα: Τεχνολογίας Πληροφορικής & Τηλεπικοινωνιών Email: savvas@teilar teilar.gr Αλγόριθµοι

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

ΚΕΦΑΛΑΙΟ 12: Θεωρία υπολογισµών

ΚΕΦΑΛΑΙΟ 12: Θεωρία υπολογισµών ΚΕΦΑΛΑΙΟ 12: Θεωρία υπολογισµών 1 Συναρτήσεις και ο υπολογισµός τους 2 Μηχανές Turing 3 Καθολικές γλώσσες προγραµµατισµού 4 Μια µη υπολογίσιµη συνάρτηση 5 Πολυπλοκότητα προβληµάτων 1 Συναρτήσεις Μία συνάρτηση

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

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

Όρια Αλγόριθμων Ταξινόμησης. Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη Όρια Αλγόριθμων Ταξινόμησης Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη Όρια Αλγόριθμων Ταξινόμησης Μέχρι στιγμής εξετάσθηκαν μέθοδοι ταξινόμησης µε πολυπλοκότητα της τάξης Θ ) ή Θlog ). Τι εκφράζει

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

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

Πανεπιστήμιο Ιωαννίνων Τμήμα Μηχανικών Η/Υ και Πληροφορικής Δομές Δεδομένων [ΠΛΥ302] Χειμερινό Εξάμηνο 2013 Πανεπιστήμιο Ιωαννίνων Τμήμα Μηχανικών Η/Υ και Πληροφορικής Δομές Δεδομένων [ΠΛΥ302] Χειμερινό Εξάμηνο 2013 Λυμένες Ασκήσεις Σετ Α: Ανάλυση Αλγορίθμων Άσκηση 1 Πραγματοποιήσαμε μια σειρά μετρήσεων του

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

Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα:

Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα: υναµικός Προγραµµατισµός Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα: Σχεδιασµός αλγορίθµων µε υναµικό Προγραµµατισµό Το πρόβληµα του πολλαπλασιασµού πινάκων ΕΠΛ 3 Αλγόριθµοι και Πολυπλοκότητα 3- υναµικός

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

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

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

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

Ενότητα 9 Ξένα Σύνολα που υποστηρίζουν τη λειτουργία της Ένωσης (Union-Find)

Ενότητα 9 Ξένα Σύνολα που υποστηρίζουν τη λειτουργία της Ένωσης (Union-Find) Ενότητα 9 Ξένα Σύνολα που υποστηρίζουν τη (Union-Find) ΗΥ240 - Παναγιώτα Φατούρου 1 Ξένα Σύνολα που υποστηρίζουν τη λειτουργία της Ένωσης Έστω ότι S 1,, S k είναι ξένα υποσύνολα ενός συνόλου U, δηλαδή

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

Υπολογιστικό Πρόβληµα

Υπολογιστικό Πρόβληµα Υπολογιστικό Πρόβληµα Μετασχηµατισµός δεδοµένων εισόδου σε δεδοµένα εξόδου. Δοµή δεδοµένων εισόδου (έγκυρο στιγµιότυπο). Δοµή και ιδιότητες δεδοµένων εξόδου (απάντηση ή λύση). Τυπικά: διµελής σχέση στις

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

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

ΤΕΙ ΙΟΝΙΩΝ ΝΗΣΩΝ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ - ΕΙΣ ΤΕΙ ΙΟΝΙΩΝ ΝΗΣΩΝ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ - ΕΙΣ. ΚΑΤΕΥΘΥΝΣΗ ΔΙΟΙΚΗΣΗΣ ΤΟΥΡΙΣΤΙΚΩΝ ΕΠΙΧΕΙΡΗΣΕΩΝ ΚΑΙ ΕΠΙΧΕΙΡΗΣΕΩΝ ΦΙΛΟΞΕΝΙΑΣ Πληροφορική I "Προγραμματισμός" B. Φερεντίνος

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

ΑΛΓΟΡΙΘΜΟΙ Άνοιξη I. ΜΗΛΗΣ

ΑΛΓΟΡΙΘΜΟΙ  Άνοιξη I. ΜΗΛΗΣ ΑΛΓΟΡΙΘΜΟΙ http://eclass.aueb.gr/courses/inf161/ Άνοιξη 2016 - I. ΜΗΛΗΣ ΔΥΝΑΜΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΑΛΓΟΡΙΘΜΟΙ - ΑΝΟΙΞΗ 2016 - Ι. ΜΗΛΗΣ 08 DP I 1 Dynamic Programming Richard Bellman (1953) Etymology (at

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

Αλγόριθµοι. Παράδειγµα. ιαίρει και Βασίλευε. Παράδειγµα MergeSort. Τεχνικές Σχεδιασµού Αλγορίθµων

Αλγόριθµοι. Παράδειγµα. ιαίρει και Βασίλευε. Παράδειγµα MergeSort. Τεχνικές Σχεδιασµού Αλγορίθµων Τεχνικές Σχεδιασµού Αλγορίθµων Αλγόριθµοι Παύλος Εφραιµίδης pefraimi@ee.duth.gr Ορισµένες γενικές αρχές για τον σχεδιασµό αλγορίθµων είναι: ιαίρει και Βασίλευε (Divide and Conquer) υναµικός Προγραµµατισµός

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

(CLR, κεφάλαιο 32) Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα: Παραστάσεις πολυωνύµων Πολυωνυµική Παρεµβολή ιακριτός Μετασχηµατισµός Fourier

(CLR, κεφάλαιο 32) Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα: Παραστάσεις πολυωνύµων Πολυωνυµική Παρεµβολή ιακριτός Μετασχηµατισµός Fourier Ταχύς Μετασχηµατισµός Fourier CLR, κεφάλαιο 3 Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα: Παραστάσεις πολυωνύµων Πολυωνυµική Παρεµβολή ιακριτός Μετασχηµατισµός Fourier Ταχύς Μετασχηµατισµός Fourier

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

ΕΠΛ 231 οµές εδοµένων και Αλγόριθµοι Άννα Φιλίππου, 2006 9-1

ΕΠΛ 231 οµές εδοµένων και Αλγόριθµοι Άννα Φιλίππου, 2006 9-1 Σωροί Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Ουρές Προτεραιότητας Σωροί υλοποίηση και πράξεις Ο αλγόριθµος ταξινόµησης HeapSort Παραλλαγές Σωρών ΕΠΛ 231 οµές εδοµένων και Αλγόριθµοι

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

ΠΛΕ075: Προηγμένη Σχεδίαση Αλγορίθμων και Δομών Δεδομένων. Λουκάς Γεωργιάδης

ΠΛΕ075: Προηγμένη Σχεδίαση Αλγορίθμων και Δομών Δεδομένων. Λουκάς Γεωργιάδης ΠΛΕ075: Προηγμένη Σχεδίαση Αλγορίθμων και Δομών Δεδομένων Λουκάς Γεωργιάδης loukas@cs.uoi.gr www.cs.uoi.gr/~loukas Βασικές έννοιες και εφαρμογές Αλγόριθμος: Μέθοδος για την επίλυση ενός προβλήματος Δομή

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

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

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

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

Διάλεξη 15: Αναδρομή (Recursion)

Διάλεξη 15: Αναδρομή (Recursion) ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 1 Διάλεξη 15: Αναδρομή (Recursion) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Η έννοια της αναδρομής - Μη-αναδρομικός / Αναδρομικός Ορισμός Συναρτήσεων

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

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

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

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

Δοµές Δεδοµένων. 9η Διάλεξη Ταξινόµηση - Στοιχειώδεις µέθοδοι. Ε. Μαρκάκης

Δοµές Δεδοµένων. 9η Διάλεξη Ταξινόµηση - Στοιχειώδεις µέθοδοι. Ε. Μαρκάκης Δοµές Δεδοµένων 9η Διάλεξη Ταξινόµηση - Στοιχειώδεις µέθοδοι Ε. Μαρκάκης Περίληψη Bubble Sort Selection Sort Insertion Sort Χαρακτηριστικά επιδόσεων Shellsort Ταξινόµηση συνδεδεµένων λιστών Δοµές Δεδοµένων

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

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

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

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

Εισαγωγή στην Επεξεργασία Ερωτήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Εισαγωγή στην Επεξεργασία Ερωτήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Εισαγωγή στην Επεξεργασία Ερωτήσεων Βάσεις Δεδομένων 2013-2014 Ευαγγελία Πιτουρά 1 Επεξεργασία Ερωτήσεων Θα δούμε την «πορεία» μιας SQL ερώτησης (πως εκτελείται) Ερώτηση SQL Ερώτηση ΣΒΔ Αποτέλεσμα Βάσεις

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

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

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

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

Κυκλώματα, Σήματα και Συστήματα

Κυκλώματα, Σήματα και Συστήματα Κυκλώματα, Σήματα και Συστήματα Μάθημα 7 Ο Μετασχηματισμός Z Βασικές Ιδιότητες Καθηγητής Χριστόδουλος Χαμζάς Ο Μετασχηματισμός Ζ Γιατί χρειαζόμαστε τον Μετασχηματισμό Ζ; Ανάγει την επίλυση των αναδρομικών

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

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

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

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

υναμικός Προγραμματισμός

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

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

ΚΕΦΑΛΑΙΟ 5: Αλγόριθµοι. 5.1 Αλγόριθµος: Ορισµός. Αλγόριθµοι : επίπεδα αφαίρεσης

ΚΕΦΑΛΑΙΟ 5: Αλγόριθµοι. 5.1 Αλγόριθµος: Ορισµός. Αλγόριθµοι : επίπεδα αφαίρεσης ΚΕΦΑΛΑΙΟ 5: Αλγόριθµοι 5.1 Αλγόριθµος: Ορισµός 5.1 Η έννοια του αλγορίθµου 5.2 Αναπαράσταση αλγορίθµων 5.3 Επινόηση αλγορίθµων 5.4 οµές επανάληψης Ένας αλγόριθµος είναι ένα διατεταγµένο σύνολο, σαφώς ορισµένων,

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

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

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

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

Μορφές αποδείξεων Υπάρχουν πολλά είδη αποδείξεων. Εδώ θα δούμε τα πιο κοινά: Εξαντλητική μέθοδος ή μέθοδος επισκόπησης. Οταν το πρόβλημα έχει πεπερασμ

Μορφές αποδείξεων Υπάρχουν πολλά είδη αποδείξεων. Εδώ θα δούμε τα πιο κοινά: Εξαντλητική μέθοδος ή μέθοδος επισκόπησης. Οταν το πρόβλημα έχει πεπερασμ Μαθηματικά Πληροφορικής 2ο Μάθημα Τμήμα Πληροφορικής και Τηλεπικοινωνιών Πανεπιστήμιο Αθηνών Μορφές αποδείξεων Υπάρχουν πολλά είδη αποδείξεων. Εδώ θα δούμε τα πιο κοινά: Εξαντλητική μέθοδος ή μέθοδος επισκόπησης.

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

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

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Κατακερματισμός. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Δομές Δεδομένων Κατακερματισμός Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Λεξικό Dictionary Ένα λεξικό (dictionary) είναι ένας αφηρημένος τύπος δεδομένων (ΑΤΔ) που διατηρεί

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