Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων
|
|
- Άρκτοφόνος Λούλης
- 7 χρόνια πριν
- Προβολές:
Transcript
1 Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 1. Εισαγωγή 2 ομές εδομένων 4 5 Χρήστος ουλκερίδης Τμήμα Ψηφιακών Συστημάτων 7/10/2016
2 Γνωριμία ιδάσκων: Χρήστος ουλκερίδης Ώρες γραφείου (102, Γρ.Λαμπράκη 126): ευτέρα 12:00 14:00 Παρασκευή 9:00 11:00 Και κατόπιν συνεννόησης Ώρες μαθήματος: Παρασκευή 11:15 14:00 Τμήμα:Α-Λ 105: Ορέστης Τελέλης Τμήμα:Μ-Ω Π αμφ: Χρήστος ουλκερίδης Δομές Δεδομένων, 3ο Εξάμηνο 2
3 Επικοινωνία Ιστοσελίδα μαθήματος: Θέματα και υλικό σχετικά με το μάθημα ΙΑΛΕΞΕΙΣ ΑΝΑΚΟΙΝΩΣΕΙΣ ΕΚΦΩΝΗΣΕΙΣ ΕΡΓΑΣΙΩΝ ΠΑΡΑ ΟΣΗ ΕΡΓΑΣΙΩΝ ΒΟΗΘΗΤΙΚΟ ΥΛΙΚΟ... Άρα γραφτείτε στο μάθημα! Δομές Δεδομένων, 3ο Εξάμηνο 3
4 Βιβλία Μαθήματος Lafore R. (2005): ομές εδομένων και Αλγόριθμοι στη JAVA (μεταφρασμένο), Εκδόσεις Μ. Γκιούρδας. Goodrich M., Tamassia R. (2013): ομές εδομένων και Αλγόριθμοι σε Java, (μεταφρ. Μ.Χατζόπουλος), Εκδόσεις ίαυλος. ιαβάστε το βιβλίο, οι διαφάνειες δεν αρκούν! Δομές Δεδομένων, 3ο Εξάμηνο 4
5 Επιπρόσθετες Πηγές Sedgewick R. (2005): Αλγόριθμοι σε Java, Τόμοι 1-4, 3η αμερικάνικη έκδοση (μεταφρασμένο), Εκδόσεις Κλειδάριθμος. T. H. Cormen, C. E. Leiserson, R. Rivest, C. Stein. Εισαγωγή στους Αλγορίθμους. Τόμος Ι (Μεταφρασμένος). Πανεπιστημιακές Εκδόσεις Κρήτης, Δομές Δεδομένων, 3ο Εξάμηνο 5
6 Βαθμολογία Προγραμματιστικές Εργασίες (Π1, Π2) Εξέταση (Ε) Τελικός Βαθμός = 0.7*Ε + 0.2*(Π1+Π2) όμως πρέπει Ε > 4 Παραδείγματα : Φοιτητής που έγραψε 6 στην τελική εξέταση αλλά δεν παρέδωσε ΠΡΟΣΟΧΗ: Οι εργασίες του μαθήματος ασκήσεις Τελικός Βαθμός = 0.7* *(0+0) = ΟΧΙ Φοιτητής το Σεπτέμβριο που έγραψε 5 στην (ΟΧΙ τελική τον εξέταση Ιούνιο, και αν παρέδωσε υπάρξει ασκήσεις που βαθμολογήθηκαν με 10/10 Τελικός Βαθμός = 0.7*5 εξέταση) *(10+10) = Φοιτητής που έγραψε 4 στην τελική εξέταση και παρέδωσε ασκήσεις που βαθμολογήθηκαν με 8/10 παραδίδονται ΜΟΝΟ στην περίοδο διδασκαλίας του. Τελικός Βαθμός = 0.7* *(8+8) = 6 Δομές Δεδομένων, 3ο Εξάμηνο 6
7 Εργαστήρια Μαθήματος 4 εργαστήρια το εξάμηνο με διαφορετική θεματολογία Προαιρετικά Για ενίσχυση της κατανόησης των δομών και σχετικών αλγορίθμων Για την εμπειρία υλοποίησης θεωρητικών αλγοριθμικών κατασκευών Σας μένει ο κώδικας που θα γράψουμε στα εργαστήρια 4 τμήματα (2 για καθένα από τα τμήματα Α-Λ, Μ-Ω) θα ανακοινωθούν Ώρες και Τόπος θα ανακοινωθούν Δομές Δεδομένων, 3ο Εξάμηνο 7
8 Σκοπός Μαθήματος Παρουσίαση βασικών δομών δεδομένων και η χρήση τους στην ανάπτυξη προγραμμάτων Υλοποίηση δομών δεδομένων με χρήση της γλώσσας προγραμματισμού Java Βασικές γνώσεις της Java θεωρούνται προαπαιτούμενο! Δομές Δεδομένων, 3ο Εξάμηνο 8
9 Περιεχόμενα Μαθήματος Ανάλυση Αλγορίθμων Πίνακες Ουρές και Στοίβες Συνδεδεμένες λίστες Μονά συνδεδεμένη ιπλά συνδεδεμένη Κυκλική Αναδρομή Ταξινόμηση έντρα υαδικά δέντρα αναζήτησης 234- έντρα έντρα πολλαπλών διαδρομών AVL- έντρα Β- έντρα Σωροί & Ουρές Προτεραιότητας Πίνακες κατακερματισμού Γράφοι Δομές Δεδομένων, 3ο Εξάμηνο 9
10 Εισαγωγικές Έννοιες
11 Δομές Δεδομένων & Αλγόριθμοι ομές εδομένων ιευθέτηση ή οργάνωση δεδομένων στη μνήμη ενός υπολογιστή (ή στο δίσκο) Παραδείγματα: Πίνακες, συνδεδεμένες λίστες, στοίβες, δυαδικά δέντρα, πίνακες κατακερματισμού, κ.ά. Αλγόριθμοι ιαδικασία εκτέλεσης μιας συγκεκριμένης εργασίας Χειρίζονται τα δεδομένα που βρίσκονται αποθηκευμένα στις δομές δεδομένων με διάφορους τρόπους Αναζήτηση, εισαγωγή, διαγραφή, ταξινόμηση Δομές Δεδομένων, 3ο Εξάμηνο 11
12 Χρησιμότητα Δομών Δεδομένων Αποθήκευση πραγματικών δεδομένων Παραδείγματα: Σύστημα κράτησης εισιτηρίων Βάση δεδομένων αδειών οδήγησης... Εργαλεία προγραμματιστών ομές δεδομένων χρησιμοποιούνται από προγραμματιστές ως εργαλεία για τη διεκπεραίωση μιας άλλης λειτουργίας Μοντελοποίηση πραγματικού κόσμου Παράδειγμα: Γράφοι για αναπαράσταση δρομολογίων αεροπλάνων μεταξύ πόλεων Γράφοι για αναπαράσταση σχέσεων σε ένα κοινωνικό δίκτυο Σωστή επιλογή δομής δεδομένων δημιουργεί προϋποθέσεις σημαντικών βελτιώσεων στην απόδοση ενός προγράμματος Δομές Δεδομένων, 3ο Εξάμηνο 12
13 Αλγόριθμοι Πολλοί αλγόριθμοι εφαρμόζονται απευθείας σε συγκεκριμένες δομές δεδομένων Για τις δομές δεδομένων, θα πρέπει να γνωρίζουμε πώς υλοποιούνται τρεις βασικές λειτουργίες Εισαγωγή νέων δεδομένων Αναζήτηση συγκεκριμένου στοιχείου ιαγραφή συγκεκριμένου στοιχείου Δομές Δεδομένων, 3ο Εξάμηνο 13
14 Παραδείγματα ομή δεδομένων Πίνακας ομή δεδομένων Συνδεδεμένη λίστα Αλγόριθμος Αναζήτηση Εισαγωγή ιαγραφή Αλγόριθμος Αναζήτηση Εισαγωγή ιαγραφή Δομές Δεδομένων, 3ο Εξάμηνο 14
15 Υπόλοιπο Σημερινού Μαθήματος... Αντικειμενοστρεφής Προγραμματισμός Ανάλυση & Πολυπλοκότητα Αλγορίθμων Δομές Δεδομένων, 3ο Εξάμηνο 15
16 Αντικειμενοστρεφής Προγραμματισμός (Object-oriented Programming) Δομές Δεδομένων, 3ο Εξάμηνο 16
17 Αντικειμενοστρεφής Προγραμματισμός Αντικείμενα (σε αντιδιαστολή με διαδικαστικές γλώσσες προγραμματισμού) Πιο κοντά στα πραγματικά αντικείμενα Αντιμετώπιση προβλημάτων που δημιουργούνται από καθολικά δεδομένα Αντικείμενο thermostat Μεταβλητές currenttemp, desiredtemp μπορούν να προσπελαστούν μόνο από τις μεθόδους f_on(), f_off Το αντικείμενο περιέχει Μεθόδους Μεταβλητές Δομές Δεδομένων, 3ο Εξάμηνο 17
18 Κλάσεις (Classes) Ανάγκη ύπαρξης πολλών αντικειμένων του ίδιου τύπου Κλάση: προδιαγραφή για ένα ή περισσότερα αντικείμενα class Thermostat { private float currenttemp; private float desiredtemp; Μεταβλητές } public void f_on(){ } public void f_off(){ } Μέθοδοι Δομές Δεδομένων, 3ο Εξάμηνο 18
19 Δημιουργία Αντικειμένων Για δημιουργία αντικειμένων χρησιμοποιείται η εντολή new Thermostat therm1, therm2; therm1 = new Thermostat(); therm2 = new Thermostat(); Προσπέλαση μεθόδων αντικειμένων therm1.f_on(); Μέθοδοι κατασκευής (constructor) ήλωση ημιουργία αντικειμένων Καλείται αυτόματα κάθε φορά που δημιουργείται ένα νέο αντικείμενο. Δομές Δεδομένων, 3ο Εξάμηνο 19
20 class List { // variables private Object [] items; // store the items in an array private int numitems; // the current # of items in the list // methods // constructor function public List() { items = new Object[10]; numitems = 0; } } // AddToEnd: add a given item to the end of the list public void AddToEnd(Object ob) {... } Δομές Δεδομένων, 3ο Εξάμηνο 20
21 Κληρονομικότητα (Inheritance) class MountainBike extends Bicycle { // new fields and methods defining a mountain bike would go here } Δομές Δεδομένων, 3ο Εξάμηνο 21
22 Πολυμορφισμός Η αντιμετώπιση αντικειμένων που ανήκουν σε διαφορετικές κλάσεις με τον ίδιο τρόπο Προϋπόθεση: οι κλάσεις αυτές να παράγονται από την ίδια base class Παράδειγμα Employee class Secretary class extends Employee Manager class extends Employee private Collection<Employee> emps = new ArrayList<Employee>(); emps.add(new Secretary( X")); emps.add(new Manager( Y")); for (Employee e : emps) { System.out.println(e.display()); } Δομές Δεδομένων, 3ο Εξάμηνο 22
23 Ανάλυση Αλγορίθμων
24 Περίγραμμα Τι είναι η ανάλυση αλγόριθμου? Κριτήρια ανάλυσης αλγορίθμων Πως υπολογίζουμε το χρόνο που απαιτείται για την εκτέλεση ενός αλγόριθμου? Δομές Δεδομένων, 3ο Εξάμηνο 24
25 Ανάλυση Αλγορίθμων: Ορισμοί Αλγόριθμος: Καθορισμένο σύνολο οδηγιών (ακολουθία υπολογιστικών βημάτων) που ο υπολογιστής πρέπει να ακολουθήσει προκειμένου να λύσει ένα πρόβλημα. Πρόγραμμα: Υλοποίηση αλγόριθμου σε μία γλώσσα προγραμματισμού Πρόβλημα Αλγόριθμος Έλεγχος ορθότητας Καθορισμός Πόρων Δομές Δεδομένων, 3ο Εξάμηνο 25
26 Ανάλυση Αλγορίθμων: Κριτήρια Ορθότητα Σαφή διατύπωση του τι πρέπει να κάνει ο αλγόριθμος Περιγραφή συνθηκών που πρέπει να πληρούν τα δεδομένα εισόδου Αναμενόμενα αποτελέσματα Όταν τα δεδομένα εισόδου ικανοποιούν τις αναγκαίες συνθήκες ο αλγόριθμος τερματίζει παράγοντας τα αναμενόμενα αποτελέσματα Απαιτήσεις σε μνήμη Μνήμη που απαιτείται για να αποθηκευτούν δεδομένα που χρησιμοποιεί ο αλγόριθμος + δεδομένα εισόδου Χρόνος εκτέλεσης Ταχύτητα εκτέλεσης των λειτουργιών για την ολοκλήρωση υπολογισμών Δομές Δεδομένων, 3ο Εξάμηνο 26
27 Ανάλυση Αλγορίθμων: Εισαγωγή Η ανάγκη επεξεργασίας μεγάλου όγκου δεδομένων απαιτεί τη χρήση υπολογιστή Όταν ένα πρόγραμμα «τρέχει» σε μεγάλο όγκο δεδομένων πρέπει να βεβαιωθούμε ότι θα τερματίσει μέσα σε αποδεκτά χρονικά πλαίσια. Ο χρόνος εκτέλεσης εξαρτάται από (κατά αύξουσα σειρά και θεωρώντας συγκεκριμένη επιλογή υλικού) 1. Γλώσσα προγραμματισμού 2. Μεθοδολογία (διαδικαστική vs. αντικειμενοστρεφή) 3. Επιλογή αλγορίθμου Δομές Δεδομένων, 3ο Εξάμηνο 27
28 Προσεγγίσεις Ανάλυσης Αλγόριθμου Πειραματική Θεωρητική Δομές Δεδομένων, 3ο Εξάμηνο 28
29 Πειραματική Μελέτη Γράψε ένα πρόγραμμα που να υλοποιεί τον αλγόριθμο «Τρέξε» τον αλγόριθμο χρησιμοποιώντας δεδομένα εισόδου διαφορετικού μεγέθους και σύνθεσης. Μέτρησε το χρόνο εκτέλεσης (runtime) Σχεδίασε τη γραφική παράσταση των αποτελεσμάτων Δομές Δεδομένων, 3ο Εξάμηνο 29
30 Περιορισμοί Πειραματικής Μελέτης Απαραίτητη η υλοποίηση του αλγόριθμου, η οποία μπορεί να είναι δύσκολη και να απαιτεί χρόνο Καλή κλιμάκωση των δεδομένων εισόδου? Σύγκριση δύο αλγορίθμων Ίδιος μηχανικός εξοπλισμός (hardware) και λογισμικό (software) Δομές Δεδομένων, 3ο Εξάμηνο 30
31 Θεωρητική Ανάλυση Χρήση υψηλού επιπέδου περιγραφής του αλγορίθμου και όχι της υλοποίησης του Χαρακτηρίζει το χρόνο εκτέλεσης σαν συνάρτηση του μεγέθους των δεδομένων εισόδου (Ν) Εξετάζει μεγάλα σύνολα εισόδου Λαμβάνει υπόψη της όλες τις δυνατές εισόδους Αξιολογεί έναν αλγόριθμο ανεξάρτητα από το υπολογιστικό εξοπλισμό, την υλοποίηση, το σύνολο εισόδου κ.λπ Μετρά λειτουργίες/εργασίες και όχι πραγματικό χρόνο Δομές Δεδομένων, 3ο Εξάμηνο 31
32 Τι είναι η Ανάλυση Αλγόριθμου; Ανάλυση αλγόριθμου: Ο χρόνος που απαιτείται για την εκτέλεση ενός αλγόριθμου εξαρτάται από το μέγεθος της εισόδου που πρέπει να επεξεργαστεί. Περισσότερα δεδομένα εισόδου Περισσότερος χρόνος εκτέλεσης προγράμματος Χρόνος εκτέλεσης προγράμματος = F (Input size) Η ακριβής τιμή της συνάρτησης F εξαρτάται από πολλούς παράγοντες: ταχύτητα της μηχανής, ποιότητα μεταγλωττιστή, ποιότητα προγράμματος Δομές Δεδομένων, 3ο Εξάμηνο 32
33 small inputs moderate inputs Από τις πιο συνηθισμένες συναρτήσεις που συναντώνται στην ανάλυση αλγορίθμων, η γραμμική αντιστοιχεί στον πιο αποδοτικό αλγόριθμο. Δομές Δεδομένων, 3ο Εξάμηνο 33
34 Μέση vs. Χειρότερη Περίπτωση Χρόνου Εκτέλεσης ενός Αλγορίθμου Ένας αλγόριθμος μπορεί να εκτελείται γρηγορότερα με συγκεκριμένα σύνολα δεδομένων από ότι με κάποια άλλα Η εύρεση της μέσης περίπτωσης μπορεί να είναι πολύ δύσκολη, έτσι οι αλγόριθμοι τυπικά μετρώνται με βάση τη χειρότερη περίπτωση πολυπλοκότητας Σε συγκεκριμένα πεδία εφαρμογής (π.χ. air traffic control, surgery) η γνώση της χειρότερης περίπτωσης πολυπλοκότητας είναι πολύ σημαντική Δομές Δεδομένων, 3ο Εξάμηνο 34
35 Ασυμπτωτικές προσεγγίσεις: Big-O συμβολισμός Η σύγκριση συναρτήσεων για μικρά σύνολα εισόδου είναι δύσκολη Οι σταθερές φαίνεται να επηρεάζουν σημαντικά τη συνάρτηση Οι διαφορές ανάμεσα στις καμπύλες που αντιπροσωπεύουν την αύξηση της συνάρτησης χρόνου εκτέλεσης αλγορίθμων είναι ευδιάκριτες για μεγάλα σύνολα δεδομένων. Γενικά: Οι δευτεροβάθμιας πολυπλοκότητας (Ο(N 2 )) αλγόριθμοι δεν είναι πρακτικοί για δεδομένα εισόδου που ξεπερνούν τις μερικές χιλιάδες Οι κυβικής πολυπλοκότητας (Ο(N 3 )) αλγόριθμοι γίνονται μη πρακτικοί για μεγέθη δεδομένων εισόδου τόσο μικρά όσο μερικές εκατοντάδες Δομές Δεδομένων, 3ο Εξάμηνο 35
36 Ασυμπτωτικές προσεγγίσεις: Big-O συμβολισμός Χρειαζόμαστε ένα τυπικό συμβολισμό για να προσδιορίσουμε τον επικρατέστερο όρο σε μία συνάρτηση και να αναπαραστήσουμε το ρυθμό αύξησης Big-O συμβολισμός επιτρέπει να ορίσουμε μια σχετική σειρά ανάμεσα στις συναρτήσεις συγκρίνοντας τους επικρατέστερους όρους Δομές Δεδομένων, 3ο Εξάμηνο 36
37 Ασυμπτωτικός Συμβολισμός Big-O: εδομένου των: συναρτήσεων f και g οριζόμενων πάνω σε μη-αρνητικούς ακεραίους Ορίζουμε big-o ως ακολούθως: f (N) O(g(N)) such that iff c 0, N 0 1 f(n) c g(n), for N N 0 Δομές Δεδομένων, 3ο Εξάμηνο 37
38 Παραδείγματα Big-O (Ι) Παράδειγμα: 7n 3 είναι O(n) Τεκμηρίωση: cn, such that 7n 3 cnfor n n. 0 0 Για n0 1, c7 η παραπάνω ανισότητα ικανοποιείται 7n-3 < 7n, n 1 Δομές Δεδομένων, 3ο Εξάμηνο 38
39 Παραδείγματα Big-O (ΙΙ) Παράδειγμα: 20n 3 10n log n 5O(n 3 ) Τεκμηρίωση: c, n 0 τέτοια ώστε n 10nlog n 5 cn, n n 0. Καθώς ισχύει n 20n for n1, and 3 10nlog n10n for n1, and 3 55n for n1 Μπορούμε να γράψουμε 20n 3 10nlog n 5 35n 3, n 1. Έτσι c = 35 και n 0 = 1. Δομές Δεδομένων, 3ο Εξάμηνο 39
40 Ασυμπτωτικός Συμβολισμός: Ορίζοντας το Big-O Παρότι αληθεύει ότι 7n-3 είναι O(n 5 ), ο big-o χαρακτηρισμός πρέπει να είναι όσο το δυνατό πιο μικρής τάξης. Απλοί κανόνες αγνόησε τις σταθερές επέλεξε την τιμή n που αυξάνεται ταχύτερα Παράδειγμα: Έστω ότι ένας αλγόριθμος έχει την ακόλουθη συνάρτηση αύξησης: f(n) = 16n 2 + 3n + 7 = n 2 + n - σβήσε τις σταθερές = n 2 - σβήσε τις μικρότερες τιμές του n Έστω f(n) = 8n 2 logn + 5n 2 +n O(n 2 logn) Σημείωση: Κάθε πολυώνυμο του n είναι O(n k ) δεδομένου ότι κάθε όρος του πολυωνύμου έχει εκθέτη k ή μικρότερο. Δομές Δεδομένων, 3ο Εξάμηνο 40
41 Γιατί Χρησιμοποιούμε το Συμβολισμό Big-O; Για να φράξουμε το σφάλμα που κάνουμε όταν αγνοούμε μικρούς όρους στους μαθηματικούς τύπους Για να φράξουμε το σφάλμα που κάνουμε όταν αγνοούμε μέρη ενός προγράμματος τα οποία συμβάλλουν κατά ένα μικρό ποσοστό στο συνολικό πρόγραμμα που αναλύουμε Για να μπορούμε να ταξινομήσουμε τους αλγορίθμους με βάση τα άνω φράγματα των συνολικών χρόνων εκτέλεσής τους Δομές Δεδομένων, 3ο Εξάμηνο 41
42 Ασυμπτωτικός Συμβολισμός Ειδικές κατηγορίες αλγορίθμων: σταθερού χρόνου (constant time) O(1) λογαριθμικός (logarithmic) O(log n) γραμμικός (linear) O(n) n log n O(n log n) δευτεροβάθμιος (quadratic) O(n 2 ) πολυωνυμικός (polynomial) O(n k ), k > 1 εκθετικός (exponential) O(a n ), n > 1 O(1) < O(logn) < O(n) < O(nlogn) < O(n 2 ) < O(n 3 ) < O(2 n ) Δομές Δεδομένων, 3ο Εξάμηνο 42
43 Παραδείγματα Πολυπλοκότητα Δομές Δεδομένων, 3ο Εξάμηνο 43
44 Παράδειγμα 1: Υπολογισμός χρόνου εκτέλεσης Ανάλυση H βασική πράξη k+=i; χρειάζεται Ο(1) χρόνο Ο αλγόριθµος εκτελεί τη βασική πράξη n φορές O αλγόριθµος έχει πολυπλοκότητα της τάξης O(n) Δομές Δεδομένων, 3ο Εξάμηνο 44
45 Παράδειγμα 2: Υπολογισμός χρόνου εκτέλεσης int sum=0; for (i=0; i<n; i++) for (j=0; j<n; j++) sum++; Εσωτερικός βρόχος Εξωτερικός βρόχος Δομές Δεδομένων, 3ο Εξάμηνο 45
46 Παράδειγμα 3: Υπολογισμός χρόνου εκτέλεσης for (i=1; i<=n; i++) for (j=1; j<=i*i; j++) sum++; Εσωτερικός βρόχος : Εξωτερικός βρόχος: Εκτελείται n φορές Συνολικά: Δομές Δεδομένων, 3ο Εξάμηνο 46
47 Παράδειγμα 4: Υπολογισμός χρόνου εκτέλεσης int sum=0; for (i=0; i<n; i++) if ((n mod 2) == 0) // n άρτιος for (j=0; j<n; j++) sum++ else // n περιττός sum--; Ανάλυση (Βασική πράξη πρόσθεση/αφαίρεση) α) N περιττός: β) N άρτιος: Δομές Δεδομένων, 3ο Εξάμηνο 47
48 Παράδειγμα Ασυμπτωτικής Ανάλυσης Αλγόριθμος για τον υπολογισμό των προθεματικών μέσων: Algorithm prefixaverages1(x) Input: An n-element array X of numbers. Output: An n-element array A of numbers such that A[i] is the average of elements X[0],, X[i]. Let A be an array of n numbers. for i 0 to n-1 do a 0 for j 0 to i do a a + X[j] A[i] a/(i+1) return array A Ανάλυση O(n 2 ) Δομές Δεδομένων, 3ο Εξάμηνο 48
Γνωριµία. οµές εδοµένων Εισαγωγή. Βιβλία Μαθήµατος. Επικοινωνία. ιδάσκων: Ορέστης Τελέλης. Ωρες γραφείου (502, Γρ.
Γνωριµία ιδάσκων: οµές εδοµένων Εισαγωγή Ορέστης Τελέλης e-mail: telelis@unipi.gr Ορέστης Τελέλης telelis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς Ωρες γραφείου (502, Γρ.Λαµπράκη 126):
Διαβάστε περισσότεραΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Δομές Δεδομένων. Ιωάννης Γ. Τόλλης Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Δομές Δεδομένων Ιωάννης Γ. Τόλλης Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού
Διαβάστε περισσότεραΔομές Δεδομένων (Data Structures)
Δομές Δεδομένων (Data Structures) Ανάλυση - Απόδοση Αλγορίθμων Έλεγχος Αλγορίθμων. Απόδοση Προγραμμάτων. Χωρική/Χρονική Πολυπλοκότητα. Ασυμπτωτικός Συμβολισμός. Παραδείγματα. Αλγόριθμοι: Βασικές Έννοιες
Διαβάστε περισσότεραΚεφάλαιο 5 Ανάλυση Αλγορίθμων
Κεφάλαιο 5 Ανάλυση Αλγορίθμων 5.1 Επίδοση αλγορίθμων Τα πρωταρχικά ερωτήματα που προκύπτουν είναι: 1. πώς υπολογίζεται ο χρόνος εκτέλεσης ενός αλγορίθμου; 2. πώς μπορούν να συγκριθούν μεταξύ τους οι διάφοροι
Διαβάστε περισσότεραΔομές Δεδομένων. Ενότητα 1 - Εισαγωγή. Χρήστος Γκουμόπουλος. Πανεπιστήμιο Αιγαίου Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστημάτων
Δομές Δεδομένων Ενότητα 1 - Εισαγωγή Χρήστος Γκουμόπουλος Πανεπιστήμιο Αιγαίου Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστημάτων Αντικείμενο μαθήματος Δομές Δεδομένων (ΔΔ): Στην επιστήμη υπολογιστών
Διαβάστε περισσότεραΠανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων
Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 12. Ανασκόπηση 2 ομές εδομένων 4 5 Χρήστος ουλκερίδης Τμήμα Ψηφιακών Συστημάτων 13/01/2017 Εξεταστέα Ύλη
Διαβάστε περισσότεραΑ Ν Α Λ Τ Η Α Λ Γ Ο Ρ Ι Θ Μ Ω Ν Κ Ε Υ Α Λ Α Ι Ο 5. Πως υπολογίζεται ο χρόνος εκτέλεσης ενός αλγορίθμου;
5.1 Επίδοση αλγορίθμων Μέχρι τώρα έχουμε γνωρίσει διάφορους αλγόριθμους (αναζήτησης, ταξινόμησης, κ.α.). Στο σημείο αυτό θα παρουσιάσουμε ένα τρόπο εκτίμησης της επίδοσης (performance) η της αποδοτικότητας
Διαβάστε περισσότεραΑλγόριθμοι και Πολυπλοκότητα
Αλγόριθμοι και Πολυπλοκότητα Ανάλυση Αλγορίθμων Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ανάλυση Αλγορίθμων Η ανάλυση αλγορίθμων περιλαμβάνει τη διερεύνηση του τρόπου
Διαβάστε περισσότεραοµές εδοµένων 3 ο Εξάµηνο Τµήµα Πανεπιστήµιο Πληροφορικής Ιωαννίνων ΟΜΕΣ Ε ΟΜΕΝΩΝ
Τµήµα Πανεπιστήµιο Πληροφορικής Ιωαννίνων ΟΜΕΣ Ε ΟΜΕΝΩΝ ΕΝΟΤΗΤΑ 1 ΕΙΣΑΓΩΓΗ 1 εδοµένα Σύνολο από πληροφορίες που πρέπει να αποθηκευτούν σε έναν υπολογιστή Υπολογιστικό Μοντέλο ένας επεξεργαστής και µεγάλος
Διαβάστε περισσότεραΑνάλυση Αλγορίθµων 4. Πειραµατικές Μελέτες. Χρόνος Εκτέλεσης. Περιγραφή και Υλικό Ανάγνωσης
Ανάλυση Αλγορίθµων Είσοδος Αλγόριθµος Έξοδος Περιγραφή και Υλικό Ανάγνωσης Χρόνος εκτέλεσης (.) Ψευδοκώδικας (.) Μέτρηση των στοιχειωδών πράξεων (.) Ασυµπτωτική σηµειογραφία (.2) Ασυµπτωτική ανάλυση (.2)
Διαβάστε περισσότεραΕισαγωγή στους Αλγόριθμους. Παύλος Εφραιμίδης, Λέκτορας
Εισαγωγή στους Αλγόριθμους Παύλος Εφραιμίδης, Λέκτορας http://pericles.ee.duth.gr 1 Περιεχόμενα Μαθήματος Εισαγωγή στου Αλγόριθμους Πολυπλοκότητα Αλγορίθμων Ασυμπτωτική Ανάλυση Θεωρία Γράφων Κλάσεις Πολυπλοκότητας
Διαβάστε περισσότεραΟρισµός. Εστω συναρτήσεις: f : N R και g : N R. η f(n) είναι fi( g(n) ) αν υπάρχουν σταθερές C 1, C 2 και n 0, τέτοιες ώστε:
Συµβολισµός Ω( ) Τάξη των Συναρτήσεων () Εκτίµηση Πολυπλοκότητας Αλγορίθµων Ορέστης Τελέλης telelis@unipi.gr Ορισµός. Εστω συναρτήσεις: f : N R και g : N R η f(n) είναι Ω( g(n) ) αν υπάρχουν σταθερές C
Διαβάστε περισσότεραΑσυμπτωτικός Συμβολισμός
Ασυμπτωτικός Συμβολισμός Επιμέλεια διαφανειών: Δημήτρης Φωτάκης (λίγες προσθήκες: Άρης Παγουρτζής) Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Υπολογιστική Πολυπλοκότητα
Διαβάστε περισσότεραΑλγόριθμοι και Δομές Δεδομένων (Ι) (εισαγωγικές έννοιες)
Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2015-16 Αλγόριθμοι και Δομές Δεδομένων (Ι) (εισαγωγικές έννοιες) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Τι είναι
Διαβάστε περισσότεραΔομές Δεδομένων Ενότητα 2
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Ενότητα 2: Θέματα Απόδοσης Απόστολος Παπαδόπουλος Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.
Διαβάστε περισσότεραΤι είναι αλγόριθμος; Υποπρογράμματα (υποαλγόριθμοι) Βασικές αλγοριθμικές δομές
Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2015-16 Αλγόριθμοι και Δομές Δεδομένων (Ι) (εισαγωγικές έννοιες) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Τι είναι
Διαβάστε περισσότεραΔομές Δεδομένων & Αλγόριθμοι
- Πίνακες 1 Πίνακες Οι πίνακες έχουν σταθερό μέγεθος και τύπο δεδομένων. Βασικά πλεονεκτήματά τους είναι η απλότητα προγραμματισμού τους και η ταχύτητα. Ωστόσο δεν παρέχουν την ευελιξία η οποία απαιτείται
Διαβάστε περισσότεραΕισαγωγή στην Ανάλυση Αλγορίθμων (2-3)
Εισαγωγή στην Ανάλυση Αλγορίθμων (2-3) 3.1 Ασυμπτωτικός συμβολισμός (Ι) Οι ορισμοί που ακολουθούν μας επιτρέπουν να επιχειρηματολογούμε με ακρίβεια για την ασυμπτωτική συμπεριφορά. Οι f(n) και g(n) συμβολίζουν
Διαβάστε περισσότεραΟρθότητα Χωρική αποδοτικότητα. Βελτιστότητα. Θεωρητική ανάλυση Εμπειρική ανάλυση. Αλγόριθμοι - Τμήμα Πληροφορικής ΑΠΘ -4ο εξάμηνο 1
Ανάλυση Αλγορίθμων Θέματα Θέματα: Ορθότητα Χρονική αποδοτικότητα Χωρική αποδοτικότητα Βελτιστότητα Προσεγγίσεις: Θεωρητική ανάλυση Εμπειρική ανάλυση Αλγόριθμοι - Τμήμα Πληροφορικής ΑΠΘ -4ο εξάμηνο 1 Θεωρητική
Διαβάστε περισσότεραΔομές Δεδομένων. Δημήτρης Μιχαήλ. Εισαγωγή. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο
Δομές Δεδομένων Εισαγωγή Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Βιβλιογραφία Robert Sedgewick, Αλγόριθμοι σε C, Μέρη 1-4 (Θεμελιώδεις Έννοιες, Δομές Δεδομένων, Ταξινόμηση,
Διαβάστε περισσότεραΒασικές Έννοιες Δοµών Δεδοµένων
Δοµές Δεδοµένων Δοµές Δεδοµένων Στην ενότητα αυτή θα γνωρίσουµε ορισµένες Δοµές Δεδοµένων και θα τις χρησιµοποιήσουµε για την αποδοτική επίλυση του προβλήµατος του ευσταθούς ταιριάσµατος Βασικές Έννοιες
Διαβάστε περισσότεραΘεωρητικό Μέρος. int rec(int n) { int n1, n2; if (n <= 5) then return n; else { n1 = rec(n-5); n2 = rec(n-3); return (n1+n2); } }
Πανεπιστήµιο Ιωαννίνων, Τµήµα Πληροφορικής 2 Νοεµβρίου 2005 Η/Υ 432: οµές εδοµένων Χειµερινό Εξάµηνο Ακαδηµαϊκού Έτους 2005-2006 Παναγιώτα Φατούρου Ηµεροµηνία Παράδοσης 1 ο Σετ Ασκήσεων Θεωρητικό Μέρος:
Διαβάστε περισσότεραΔομές Δεδομένων (Data Structures)
Δομές Δεδομένων (Data Structures) 3 ο Εξάμηνο Σπουδών Εαρινό Εξάμηνο 2010/11 Διδάσκων: Χαρμανδάρης Ευάγγελος, Τμήμα Εφαρμοσμένων Μαθηματικών, Πανεπιστήμιο Κρήτης email: vagelis@tem.uoc.gr, Ιστοσελίδα Μαθήματος:
Διαβάστε περισσότεραInitialize each person to be free. while (some man is free and hasn't proposed to every woman) { Choose such a man m w = 1 st woman on m's list to
Κεφάλαιο 2 Δοµές Δεδοµένων Ι Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne. 1 Δοµές Δεδοµένων Ι Στην ενότητα αυτή θα γνωρίσουµε ορισµένες Δοµές Δεδοµένων και θα τις χρησιµοποιήσουµε
Διαβάστε περισσότεραΆσκηση 1 (ανακοινώθηκε στις 20 Μαρτίου 2017, προθεσμία παράδοσης: 24 Απριλίου 2017, 12 τα μεσάνυχτα).
Κ08 Δομές Δεδομένων και Τεχνικές Προγραμματισμού Διδάσκων: Μανόλης Κουμπαράκης Εαρινό Εξάμηνο 2016-2017. Άσκηση 1 (ανακοινώθηκε στις 20 Μαρτίου 2017, προθεσμία παράδοσης: 24 Απριλίου 2017, 12 τα μεσάνυχτα).
Διαβάστε περισσότεραΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Δοµές Δεδοµένων
ΟΝΟΜΑΤΕΠΩΝΥΜΟ: ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ AM: Δοµές Δεδοµένων Εξεταστική Ιανουαρίου 2014 Διδάσκων : Ευάγγελος Μαρκάκης 20.01.2014 ΥΠΟΓΡΑΦΗ ΕΠΟΠΤΗ: Διάρκεια εξέτασης : 2 ώρες και
Διαβάστε περισσότεραΑν ένα πρόβλημα λύνεται από δύο ή περισσότερους αλγόριθμους, ποιος θα είναι ο καλύτερος; Με ποια κριτήρια θα τους συγκρίνουμε;
Αν ένα πρόβλημα λύνεται από δύο ή περισσότερους αλγόριθμους, ποιος θα είναι ο καλύτερος; Με ποια κριτήρια θα τους συγκρίνουμε; Πως θα υπολογίσουμε το χρόνο εκτέλεσης ενός αλγόριθμου; Για να απαντήσουμε
Διαβάστε περισσότεραΣτοιχεία Αλγορίθµων και Πολυπλοκότητας
Στοιχεία Αλγορίθµων και Πολυπλοκότητας Ορέστης Τελέλης telelis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς Ο. Τελέλης Πανεπιστήµιο Πειραιώς Πολυπλοκότητα 1 / 16 «Ζέσταµα» Να γράψετε τις συναρτήσεις
Διαβάστε περισσότεραΔομές Δεδομένων & Αλγόριθμοι
Απόδοση Αλγορίθμων Πληροφορικής 1 Απόδοση Αλγορίθμων Συνήθως υπάρχουν πολλοί τρόποι (αλγόριθμοι) για την επίλυση ενός προβλήματος. Πώς επιλέγουμε μεταξύ αυτών; Πρέπει να ικανοποιηθούν δύο (αντικρουόμενοι)
Διαβάστε περισσότεραΠανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων
Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 2. Πίνακες 45 23 28 95 71 19 30 2 ομές εδομένων 4 5 Χρήστος ουλκερίδης Τμήμα Ψηφιακών Συστημάτων 21/10/2016
Διαβάστε περισσότεραΠεριεχόμενα. Περιεχόμενα
Περιεχόμενα xv Περιεχόμενα 1 Αρχές της Java... 1 1.1 Προκαταρκτικά: Κλάσεις, Τύποι και Αντικείμενα... 2 1.1.1 Βασικοί Τύποι... 5 1.1.2 Αντικείμενα... 7 1.1.3 Τύποι Enum... 14 1.2 Μέθοδοι... 15 1.3 Εκφράσεις...
Διαβάστε περισσότεραΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Ενότητα 3: Ασυμπτωτικός συμβολισμός Μαρία Σατρατζέμη Τμήμα Εφαρμοσμένης Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.
Διαβάστε περισσότεραΑνάλυση αλγορίθμων. Χρόνος εκτέλεσης: Αναμενόμενη περίπτωση. - απαιτεί γνώση της κατανομής εισόδου
Ανάλυση αλγορίθμων Παράμετροι απόδοσης ενός αλγόριθμου: Χρόνος εκτέλεσης Απαιτούμενοι πόροι, π.χ. μνήμη, επικοινωνία (π.χ. σε κατανεμημένα συστήματα) Προσπάθεια υλοποίησης Ανάλυση της απόδοσης Θεωρητική
Διαβάστε περισσότεραΠανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων
Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 6. Δυαδικά Δέντρα 2 ομές εδομένων 4 5 Χρήστος ουλκερίδης Τμήμα Ψηφιακών Συστημάτων 18/11/2016 Εισαγωγή Τα
Διαβάστε περισσότεραΠανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων
Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 2. Πίνακες 45 23 28 95 71 19 30 2 ομές εδομένων 4 5 Χρήστος ουλκερίδης Τμήμα Ψηφιακών Συστημάτων 12/10/2017
Διαβάστε περισσότεραΑρχές Τεχνολογίας Λογισμικού Εργαστήριο
Αρχές Τεχνολογίας Λογισμικού Εργαστήριο Κωδικός Μαθήματος: TP323 Ώρες Εργαστηρίου: 2/εβδομάδα (Διαφάνειες Νίκου Βιδάκη) 1 JAVA Inheritance Εβδομάδα Νο. 3 2 Προηγούμενο μάθημα (1/2) Τι είναι αντικείμενο?
Διαβάστε περισσότεραΔοµές Δεδοµένων. ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ Φθινοπωρινό Εξάµηνο Ευάγγελος Μαρκάκης
Δοµές Δεδοµένων ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ Φθινοπωρινό Εξάµηνο 2009-2010 Ευάγγελος Μαρκάκης Τι είναι οι Δοµές Δεδοµένων? Δοµές Δεδοµένων 01-2 Τι είναι οι Δοµές Δεδοµένων? Webopedia:
Διαβάστε περισσότεραΔομές Δεδομένων και Αλγόριθμοι
Δομές Δεδομένων και Αλγόριθμοι Χρήστος Γκόγκος ΤΕΙ Ηπείρου, Τμήμα Μηχανικών Πληροφορικής ΤΕ Χειμερινό Εξάμηνο 2014-2015 (Παρουσίαση 6) 1 / 20 Ρυθμοί αύξησης Γραμμικός ρυθμός αύξησης: n, 2n, Πολυωνυμικός
Διαβάστε περισσότεραΑΛΓΟΡΙΘΜΟΙ. Ενότητα 2: Ανάλυση Αλγορίθμων. Ιωάννης Μανωλόπουλος, Καθηγητής Αναστάσιος Γούναρης, Επίκουρος Καθηγητής Τμήμα Πληροφορικής ΑΠΘ
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ ΑΛΓΟΡΙΘΜΟΙ Ενότητα 2: Ανάλυση Αλγορίθμων Ιωάννης Μανωλόπουλος, Καθηγητής Αναστάσιος Γούναρης, Επίκουρος Καθηγητής Άδειες Χρήσης Το παρόν
Διαβάστε περισσότεραΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Δοµές Δεδοµένων
ΟΝΟΜΑΤΕΠΩΝΥΜΟ: ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ AM: Δοµές Δεδοµένων Πτυχιακή Εξεταστική Ιούλιος 2014 Διδάσκων : Ευάγγελος Μαρκάκης 09.07.2014 ΥΠΟΓΡΑΦΗ ΕΠΟΠΤΗ: Διάρκεια εξέτασης : 2 ώρες
Διαβάστε περισσότεραΛογισµικό (Software SW) Γλώσσες
Λογισµικό (Software SW) Γλώσσες Προγραµµατισµού Οι γενιές των γλωσσών προγραµµατισµού Προβλήµατα που επιλύονται σε ένα περιβάλλον στο οποίο ο άνθρωπος πρέπει να προσαρµόζεται στα χαρακτηριστικά της µηχανής
Διαβάστε περισσότεραΑλγόριθμοι και πολυπλοκότητα Ανάλυση αλγορίθμων
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Αλγόριθμοι και πολυπλοκότητα Ανάλυση αλγορίθμων Ιωάννης Τόλλης Τμήμα Επιστήμης Υπολογιστών Aνάλυση Αλγορίθμων Είσοδος Αλγόριθμος Έξοδος Ένας αλγόριθμος είναι μια
Διαβάστε περισσότεραΣύνοψη Προηγούμενου. Πίνακες (Arrays) Πίνακες (Arrays): Βασικές Λειτουργίες. Πίνακες (Arrays) Ορέστης Τελέλης
Σύνοψη Προηγούμενου Πίνακες (Arrays Ορέστης Τελέλης telelis@unipi.gr Τμήμα Ψηφιακών Συστημάτων, Πανεπιστήμιο Πειραιώς Διαδικαστικά θέματα. Aντικείμενο Μαθήματος. Aντικείμενα, Κλάσεις, Μέθοδοι, Μεταβλητές.
Διαβάστε περισσότεραΑλγόριθµοι και Πολυπλοκότητα
Αλγόριθµοι και Πολυπλοκότητα Ν. Μ. Μισυρλής Τµήµα Πληροφορικής και Τηλεπικοινωνιών, Πανεπιστήµιο Αθηνών Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα Φεβρουαρίου 0 / ένδρα Ενα δένδρο είναι
Διαβάστε περισσότεραΤύποι Δεδομένων και Απλές Δομές Δεδομένων. Παύλος Εφραιμίδης V1.0 ( )
Τύποι Δεδομένων και Απλές Δομές Δεδομένων Παύλος Εφραιμίδης V1.0 (2014-01-13) Απλές Δομές Δεδομένων Στην ενότητα αυτή θα γνωρίσουμε ορισμένες απλές Δομές Δεδομένων και θα τις χρησιμοποιήσουμε για την αποδοτική
Διαβάστε περισσότεραΑσκήσεις (2) Άσκηση 1
Άσκηση 1 Ασκήσεις () Εισαγωγή στην Ανάλυση Αλγορίθμων Υποθέστε ότι συγκρίνουμε την υλοποίηση της ταξινόμησης με εισαγωγή και της ταξινόμησης με συγχώνευση στον ίδιο υπολογιστή. Για εισόδους μεγέθους n,
Διαβάστε περισσότεραΔιάλεξη 2η: Αλγόριθμοι και Προγράμματα
Διάλεξη 2η: Αλγόριθμοι και Προγράμματα Τμήμα Επιστήμης Υπολογιστών, Πανεπιστήμιο Κρήτης Εισαγωγή στην Επιστήμη Υπολογιστών Βασίζεται σε διαφάνειες του Κ Παναγιωτάκη Πρατικάκης (CSD) Αλγόριθμοι και Προγράμματα
Διαβάστε περισσότεραΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗ ΕΠΙΧΕΙΡΗΣΕΩΝ ΕΠΙΠΕΔΟ ΣΠΟΥΔΩΝ Προπτυχιακό ΚΩΔΙΚΟΣ ΜΑΘΗΜΑΤΟΣ GD2670
ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗ ΕΠΙΧΕΙΡΗΣΕΩΝ ΕΠΙΠΕΔΟ ΣΠΟΥΔΩΝ Προπτυχιακό ΚΩΔΙΚΟΣ ΜΑΘΗΜΑΤΟΣ GD2670 ΕΞΑΜΗΝΟ ΣΠΟΥΔΩΝ Έκτο ΤΙΤΛΟΣ ΜΑΘΗΜΑΤΟΣ Δομές Δεδομένων και Αλγόριθμοι ΑΥΤΟΤΕΛΕΙΣ ΔΙΔΑΚΤΙΚΕΣ
Διαβάστε περισσότεραΑσυμπτωτικός Συμβολισμός
Ασυμπτωτικός Συμβολισμός ημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Υπολογιστική Πολυπλοκότητα Υπολογιστική πολυπλοκότητα αλγόριθμου Α: Ποσότητα
Διαβάστε περισσότεραΑσυμπτωτικός Συμβολισμός
Ασυμπτωτικός Συμβολισμός ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Άδεια Χρήσης Το παρόν εκπαιδευτικό
Διαβάστε περισσότεραΔομές Δεδομένων & Αλγόριθμοι
Θέματα Απόδοσης Αλγορίθμων 1 Η Ανάγκη για Δομές Δεδομένων Οι δομές δεδομένων οργανώνουν τα δεδομένα πιο αποδοτικά προγράμματα Πιο ισχυροί υπολογιστές πιο σύνθετες εφαρμογές Οι πιο σύνθετες εφαρμογές απαιτούν
Διαβάστε περισσότεραΔιάλεξη 04: Παραδείγματα Ανάλυσης
Διάλεξη 04: Παραδείγματα Ανάλυσης Πολυπλοκότητας/Ανάλυση Αναδρομικών Αλγόριθμων Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Παραδείγματα Ανάλυσης Πολυπλοκότητας : Μέθοδοι, παραδείγματα
Διαβάστε περισσότερα9. Κόκκινα-Μαύρα Δέντρα
Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 9. Κόκκινα-Μαύρα Δέντρα 2 ομές εδομένων 4 5 Χρήστος ουλκερίδης Τμήμα Ψηφιακών Συστημάτων 9/12/2016 Δέντρα,
Διαβάστε περισσότεραέντρα ομές εδομένων 3ο εξάμηνο ιδάσκων: Χρήστος ουλκερίδης ιαφάνειες προσαρμοσμένες από το υλικό της Μαρίας Χαλκίδη
έντρα 2-3-4 ομές εδομένων 3ο εξάμηνο ιδάσκων: Χρήστος ουλκερίδης ιαφάνειες προσαρμοσμένες από το υλικό της Μαρίας Χαλκίδη Σημερινό Μάθημα 2-3-4 έντρα Ισοζυγισμένα δέντρα αναζήτησης έντρα αναζήτησης πολλαπλών
Διαβάστε περισσότεραΚεφάλαιο 2. Η δομή δεδομένων Σωρός και η Ταξινόμηση Σωρού (The Heap data structure and Heapsort) Έκδοση 1.3, 14/11/2014
Κεφάλαιο 2 Η δομή δεδομένων Σωρός και η Ταξινόμηση Σωρού (The Heap data structure and Heapsort) Έκδοση 1.3, 14/11/2014 Χρησιμοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne. 1 Σωρός και Ταξινόμηση
Διαβάστε περισσότεραΥπολογιστική Πολυπλοκότητα
Υπολογιστική Πολυπλοκότητα Υπολογιστική πολυπλοκότητα αλγόριθµου Α: Ποσότητα υπολογιστικών πόρων που απαιτεί Α ως αύξουσα συνάρτηση µεγέθους στιγµιότυπου εισόδου. Χρόνος, µνήµη, επεξεργαστές, επικοινωνία,
Διαβάστε περισσότερα8. Σωροί (Heaps)-Αναδρομή- Προχωρημένη Ταξινόμηση
Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 8. Σωροί (Heaps)-Αναδρομή- Προχωρημένη Ταξινόμηση 2 ομές εδομένων 4 5 Χρήστος ουλκερίδης Τμήμα Ψηφιακών Συστημάτων
Διαβάστε περισσότεραΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ. Αρχές Ανάλυσης Αλγορίθµων Κεφάλαιο 2. Ε. Μαρκάκης Επικ. Καθηγητής
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ Αρχές Ανάλυσης Αλγορίθµων Κεφάλαιο 2 Ε. Μαρκάκης Επικ. Καθηγητής Περίληψη Εµπειρική ανάλυση αλγορίθµων Μαθηµατική ανάλυση αλγορίθµων Αύξηση συναρτήσεων Συµβολισµός µεγάλου όµικρον Παραδείγµατα
Διαβάστε περισσότεραΕισαγωγή σε αντικειμενοστραφή concepts. Και λίγη C#
Εισαγωγή σε αντικειμενοστραφή concepts Και λίγη C# Κλάσεις Κλάση: τύπος δεδομένων που αποτελεί συλλογή πεδίων, ορισμών συναρτήσεων/μεθόδων και ορισμών άλλων τύπων δεδομένων. Αντίστοιχο σκεπτικό με struct
Διαβάστε περισσότεραΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. ΕΠΛ231: ομές εδομένων και Αλγόριθμοι
ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ231: ομές εδομένων και Αλγόριθμοι ιδάσκων: Γιώργος Πάλλης Γραφείο: ΘΕΕ-01 Β119 Τηλέφωνο: 22-892743 E-mail: gpallis@cs.ucy.ac.cy Ιστοσελίδα Μαθήματος: http://www.cs.ucy.ac.cy/courses/epl231
Διαβάστε περισσότεραΕισαγωγή στην Ανάλυση Αλγορίθμων (1) Διαφάνειες του Γ. Χ. Στεφανίδη
Εισαγωγή στην Ανάλυση Αλγορίθμων (1) Διαφάνειες του Γ. Χ. Στεφανίδη 0. Εισαγωγή Αντικείμενο μαθήματος: Η θεωρητική μελέτη ανάλυσης των αλγορίθμων. Στόχος: επιδόσεις των επαναληπτικών και αναδρομικών αλγορίθμων.
Διαβάστε περισσότεραΑσυμπτωτικός Συμβολισμός
Ασυμπτωτικός Συμβολισμός ιδάσκοντες: Φ. Αφράτη,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Υπολογιστική Πολυπλοκότητα Υπολογιστική
Διαβάστε περισσότεραΙσοζυγισμένα υαδικά έντρα Αναζήτησης
Ισοζυγισμένα υαδικά έντρα Αναζήτησης ομές εδομένων 3ο εξάμηνο ιδάσκων: Χρήστος ουλκερίδης ιαφάνειες προσαρμοσμένες από το υλικό της Μαρίας Χαλκίδη Ισοζυγισμένα υαδικά έντρα Αναζήτησης Ισοζυγισμένα Α είναι
Διαβάστε περισσότεραΔομές Δεδομένων. Λουκάς Γεωργιάδης. http://www.cs.uoi.gr/~loukas/courses/data_structures/ email: loukas@cs.uoi.gr
Δομές Δεδομένων http://www.cs.uoi.gr/~loukas/courses/data_structures/ Λουκάς Γεωργιάδης email: loukas@cs.uoi.gr Αλγόριθμος: Μέθοδος για την επίλυση ενός προβλήματος Δεδομένα: Σύνολο από πληροφορίες που
Διαβάστε περισσότεραΑπλές Δοµές Δεδοµένων Στην ενότητα αυτή θα γνωρίσουµε ορισµένες απλές Δοµές Δεδοµένων και θα τις χρησιµοποιήσουµε για την αποδοτική επίλυση του προβλή
Απλές Δοµές Δεδοµένων Απλές Δοµές Δεδοµένων Στην ενότητα αυτή θα γνωρίσουµε ορισµένες απλές Δοµές Δεδοµένων και θα τις χρησιµοποιήσουµε για την αποδοτική επίλυση του προβλήµατος του ευσταθούς ταιριάσµατος
Διαβάστε περισσότεραΔομές Δεδομένων Ενότητα 4
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Ενότητα 4: Ουρές Απόστολος Παπαδόπουλος Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό
Διαβάστε περισσότεραΔοµές Δεδοµένων. 5η Διάλεξη Λίστες και αρχές ανάλυσης αλγορίθµων. Ε. Μαρκάκης
Δοµές Δεδοµένων 5η Διάλεξη Λίστες και αρχές ανάλυσης αλγορίθµων Ε. Μαρκάκης Περίληψη Διπλά συνδεδεµένες λίστες Αναπαράσταση γράφων µε λίστες Εµπειρική ανάλυση αλγορίθµων Μαθηµατική ανάλυση αλγορίθµων Αύξηση
Διαβάστε περισσότεραΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 23: οµές εδοµένων και Αλγόριθµοι Ενδιάµεση Εξέταση Ηµεροµηνία : ευτέρα, 3 Νοεµβρίου 2008 ιάρκεια : 2.00-4.00 ιδάσκουσα : Άννα Φιλίππου Ονοµατεπώνυµο: ΣΚΕΛΕΤΟΙ
Διαβάστε περισσότεραΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. ΕΠΛ 035: οµές εδοµένων και Αλγόριθµοι για Ηλεκτρολόγους Μηχανικούς και Μηχανικούς Υπολογιστών
ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 035: οµές εδοµένων και Αλγόριθµοι για Ηλεκτρολόγους Μηχανικούς και Μηχανικούς Υπολογιστών Ακαδηµαϊκό έτος 2010 2011, Χειµερινό εξάµηνο Παρασκευή - 17/12/10 (08:30-11:30)
Διαβάστε περισσότεραΔιάλεξη 04: Παραδείγματα Ανάλυσης Πολυπλοκότητας/Ανάλυση Αναδρομικών Αλγόριθμων
Διάλεξη 04: Παραδείγματα Ανάλυσης Πολυπλοκότητας/Ανάλυση Αναδρομικών Αλγόριθμων Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Παραδείγματα Ανάλυσης Πολυπλοκότητας : Μέθοδοι, παραδείγματα
Διαβάστε περισσότεραΚεφάλαιο 6 Ουρές Προτεραιότητας
Κεφάλαιο 6 Ουρές Προτεραιότητας Περιεχόμενα 6.1 Ο αφηρημένος τύπος δεδομένων ουράς προτεραιότητας... 114 6.2 Ουρές προτεραιότητας με στοιχειώδεις δομές δεδομένων... 115 6.3 Δυαδικός σωρός... 116 6.3.1
Διαβάστε περισσότεραΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 4. Παραδείγματα Ανάλυσης Πολυπλοκότητας Ανάλυση Αναδρομικών Αλγόριθμων
ΕΠΛ31 Δομές Δεδομένων και Αλγόριθμοι 4. Παραδείγματα Ανάλυσης Πολυπλοκότητας Ανάλυση Αναδρομικών Αλγόριθμων Διάλεξη 04: Παραδείγματα Ανάλυσης Πολυπλοκότητας/Ανάλυση Αναδρομικών Αλγόριθμων Στην ενότητα
Διαβάστε περισσότεραΔομές Δεδομένων και Αλγόριθμοι
Δομές Δεδομένων και Αλγόριθμοι Χρήστος Γκόγκος ΤΕΙ Ηπείρου, Τμήμα Μηχανικών Πληροφορικής ΤΕ Χειμερινό Εξάμηνο 2014-2015 (Παρουσίαση 5) 1 / 17 Απόδοση προγραμμάτων Συχνά χρειάζεται να εκτιμηθεί η απόδοση
Διαβάστε περισσότεραΔομές Δεδομένων και Αλγόριθμοι. Λουκάς Γεωργιάδης
Δομές Δεδομένων και Αλγόριθμοι Λουκάς Γεωργιάδης loukas@cs.uoi.gr www.cs.uoi.gr/~loukas Στόχοι Μαθήματος Η σχεδίαση και ανάλυση αλγορίθμων και δομών δεδομένων αποτελεί σημαντικό τμήμα της πληροφορικής.
Διαβάστε περισσότεραΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ Π ΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ Π ΕΡΙΒΑΛΛΟΝ
ΥΠΟΥΡΓΕΙΟ ΕΘΝΙΚΗΣ ΠΑΙΔΕΙΑΣ ΚΑΙ ΘΡΗΣΚΕΥΜΑΤΩΝ ΠΑΙΔΑΓΩΓΙΚΟ ΙΝΣΤΙΤΟΥΤΟ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ Π ΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ Π ΕΡΙΒΑΛΛΟΝ Κ Υ Κ Λ Ο Υ Π Λ Η Ρ Ο Φ Ο Ρ Ι Κ Η Σ Κ Α Ι Υ Π Η Ρ Ε Σ Ι Ω Ν Τ Ε Χ Ν Ο Λ Ο Γ Ι Κ Η
Διαβάστε περισσότερα10. Πίνακες Κατακερματισμού
Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 10. Πίνακες Κατακερματισμού 2 ομές εδομένων 4 5 Χρήστος ουλκερίδης Τμήμα Ψηφιακών Συστημάτων 16/12/2016 Πίνακες
Διαβάστε περισσότεραΕισαγωγή στους Αλγόριθµους. Αλγόριθµοι. Ιστορικά Στοιχεία. Ο πρώτος Αλγόριθµος. Παραδείγµατα Αλγορίθµων. Τι είναι Αλγόριθµος
Εισαγωγή στους Αλγόριθµους Αλγόριθµοι Τι είναι αλγόριθµος; Τι µπορεί να υπολογίσει ένας αλγόριθµος; Πως αξιολογείται ένας αλγόριθµος; Παύλος Εφραιµίδης pefraimi@ee.duth.gr Αλγόριθµοι Εισαγωγικές Έννοιες
Διαβάστε περισσότεραΑντικειμενοστρεφής Προγραμματισμός
Αντικειμενοστρεφής Προγραμματισμός Διδάσκουσα: Αναπλ. Καθηγήτρια Ανδριάνα Πρέντζα aprentza@unipi.gr Εργαστηριακός Συνεργάτης: Δρ. Βασιλική Κούφη vassok@unipi.gr Περιεχόμενα Java Classes Java Objects Java
Διαβάστε περισσότεραΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Ενότητα 2: Ασυμπτωτικός συμβολισμός Μαρία Σατρατζέμη Τμήμα Εφαρμοσμένης Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.
Διαβάστε περισσότεραΕισαγωγή στον Προγραμματισμό (με. τη C)
Υποχρεωτικό Μάθημα 3 ου Εξαμήνου Χειμερινό Εξάμηνο Ακ. Έτους 20 Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης Εισαγωγή στον Προγραμματισμό (με τη C) Διδάσκουσα: Φατούρου Παναγιώτα faturu [at] csd.uoc.gr
Διαβάστε περισσότεραΔιδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ
Διάλεξη - Πολυπλοκότητα Αλγορίθμων / Επανάληψη Χρήσιμων Μαθηματικών Ορισμών Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Αλγόριθμοι, Κριτήρια Αξιολόγησης Αλγόριθμων, Γιατί αναλύουμε τους Αλγορίθμων
Διαβάστε περισσότεραΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Ενότητα 8α: Ταξινόμηση-Σύγκριση αλγορίθμων ταξινόμησης Μαρία Σατρατζέμη Τμήμα Εφαρμοσμένης Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης
Διαβάστε περισσότεραΔομές Δεδομένων (Data Structures)
Δομές Δεδομένων (Data Structures) Γραμμικές Λίστες Βασικές Έννοιες Βασικές Έννοιες. Αναπαράσταση με τύπο και με δείκτη. Γραμμικές Λίστες. Βασικές Λειτουργίες. Δομές Δεδομένων: Βασικές Έννοιες Αντικείμενο
Διαβάστε περισσότερα5. Απλή Ταξινόμηση. ομές εδομένων. Χρήστος ουλκερίδης. Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων
Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 5. Απλή Ταξινόμηση 2 ομές εδομένων 4 5 Χρήστος ουλκερίδης Τμήμα Ψηφιακών Συστημάτων 11/11/2016 Εισαγωγή Η
Διαβάστε περισσότεραΑλγόριθμοι και Πολυπλοκότητα Φώτης Ε. Ψωμόπουλος, Περικλής Α. Μήτκας
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Τομέας Ηλεκτρονικής και Υπολογιστών Εργαστήριο Επεξεργασίας Πληροφορίας και Υπολογισμών Καθηγητής: Περικλής
Διαβάστε περισσότεραΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Ενότητα 1: Εισαγωγή Μαρία Σατρατζέμη Τμήμα Εφαρμοσμένης Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό
Διαβάστε περισσότεραΑΛΓΟΡΙΘΜΟΙ Άνοιξη I. ΜΗΛΗΣ
ΑΛΓΟΡΙΘΜΟΙ http://elss.ueb.gr/ourses/inf6/ Άνοιξη 6 - I. ΜΗΛΗΣ ΑΣΥΜΠΤΩΤΙΚΟΙ ΣΥΜΒΟΛΙΣΜΟΙ ΑΛΓΟΡΙΘΜΟΙ - ΑΝΟΙΞΗ 6 - Ι. ΜΗΛΗΣ - - ASYMPTOTICS Αλγόριθμοι Τρείς κρίσιμες ερωτήσεις για κάθε αλγόριθμο για ένα πρόβλημα:
Διαβάστε περισσότεραΚεφάλαιο 11 Ένωση Ξένων Συνόλων
Κεφάλαιο 11 Ένωση Ξένων Συνόλων Περιεχόμενα 11.1 Εισαγωγή... 227 11.2 Εφαρμογή στο Πρόβλημα της Συνεκτικότητας... 228 11.3 Δομή Ξένων Συνόλων με Συνδεδεμένες Λίστες... 229 11.4 Δομή Ξένων Συνόλων με Ανοδικά
Διαβάστε περισσότεραΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΜΑΘΗΜΑ: ΑΛΓΟΡΙΘΜΟΙ ΚΑΙ ΠΟΛΥΠΛΟΚΟΤΗΤΑ 1. α. Να βάλετε σε αύξουσα σειρά μεγέθους τις παρακάτω συναρτήσεις χρονικής πολυπλοκότητας αλγορίθμων: nlogn, n logn,
Διαβάστε περισσότεραΑλγόριθµοι και Πολυπλοκότητα
Αλγόριθµοι και Πολυπλοκότητα Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα: Πρόβληµα, Στιγµιότυπο, Αλγόριθµος Εργαλεία εκτίµησης πολυπλοκότητας: οι τάξεις Ο(n), Ω(n), Θ(n) Ανάλυση Πολυπλοκότητας Αλγορίθµων
Διαβάστε περισσότεραΔομές Δεδομένων & Αλγόριθμοι
Ουρές Ουρές Περίληψη Η ΟυράΑΔΤ Υλοποίηση με κυκλικό πίνακα Αυξανόμενη Ουρά βασισμένη σε πίνακα Interface ουράς στην C++ Η Ουρά ADT Η ΑΔΤ Ουρά αποθηκεύει αυθαίρετα αντικείμενα Οι εισαγωγές και διαγραφές
Διαβάστε περισσότεραΔομές Δεδομένων (Data Structures)
Δομές Δεδομένων (Data Structures) Στοίβες Ουρές Στοίβες: Βασικές Έννοιες. Ουρές: Βασικές Έννοιες. Βασικές Λειτουργίες. Παραδείγματα. Στοίβες Δομή τύπου LIFO: Last In - First Out (τελευταία εισαγωγή πρώτη
Διαβάστε περισσότεραFORTRAN και Αντικειμενοστραφής Προγραμματισμός
FORTRAN και Αντικειμενοστραφής Προγραμματισμός Παραδόσεις Μαθήματος 2016 Δρ Γ Παπαλάμπρου Επίκουρος Καθηγητής ΕΜΠ georgepapalambrou@lmentuagr Εργαστήριο Ναυτικής Μηχανολογίας (Κτίριο Λ) Σχολή Ναυπηγών
Διαβάστε περισσότεραΟυρές προτεραιότητας
Ουρές προτεραιότητας Πελάτες... στο ταµείο µιας τράπεζας Κάθε πελάτης µε ένα νούµερο/αριθµός προτεραιότητας! Όσοοαριθµός είναι µεγάλος, τόσο οι πελάτες είναι πιο ενδιαφέροντες(!) ένα µόνο ταµείο ανοικτό
Διαβάστε περισσότεραΠανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων
Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 3. Στοίβες & Ουρές 2 ομές εδομένων 4 5 Χρήστος ουλκερίδης Τμήμα Ψηφιακών Συστημάτων 19/10/2017 Ανακεφαλαίωση:
Διαβάστε περισσότεραΠανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων
Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 3. Στοίβες & Ουρές 2 ομές εδομένων 4 5 Χρήστος ουλκερίδης Τμήμα Ψηφιακών Συστημάτων 4/11/2016 Ανακεφαλαίωση:
Διαβάστε περισσότερα2.1 Αντικειµενοστρεφής προγραµµατισµός
2.1 Αντικειµενοστρεφής προγραµµατισµός Στον αντικειµενοστρεφή προγραµµατισµό (object oriented programming, OOP) ένα πρόγραµµα υπολογιστή είναι ένα σύνολο αλληλεπιδρώντων αντικειµένων. Μπορεί να ειπωθεί
Διαβάστε περισσότεραΗΥ240: οµές εδοµένων Χειµερινό Εξάµηνο Ακαδηµαϊκό Έτος Παναγιώτα Φατούρου. Προγραµµατιστική Εργασία 3 ο Μέρος
Πανεπιστήµιο Κρήτης, Τµήµα Επιστήµης Υπολογιστών 6 εκεµβρίου 2008 ΗΥ240: οµές εδοµένων Χειµερινό Εξάµηνο Ακαδηµαϊκό Έτος 2008-09 Παναγιώτα Φατούρου Προγραµµατιστική Εργασία 3 ο Μέρος Ηµεροµηνία Παράδοσης:
Διαβάστε περισσότερα4. Συνδεδεμένες Λίστες
Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 4. Συνδεδεμένες Λίστες 2 ομές εδομένων 4 5 Χρήστος ουλκερίδης Τμήμα Ψηφιακών Συστημάτων 10/11/2016 Εισαγωγή
Διαβάστε περισσότεραΣτόχοι και αντικείμενο ενότητας. Πέρασμα Πίνακα σε Συνάρτηση (συν.) Πέρασμα Πίνακα σε Συνάρτηση. #8.. Ειδικά Θέματα Αλγορίθμων
Στόχοι και αντικείμενο ενότητας Πέρασμα Πίνακα σε Συνάρτηση #8.. Ειδικά Θέματα Αλγορίθμων Προβλήματα Αναζήτησης Γραμμική Αναζήτηση (Linear Search) Ενημέρωση Μέτρηση Δυαδική Αναζήτηση (Binary Search) Προβλήματα
Διαβάστε περισσότερα