Δομές Δεδομένων
Εξάμηνο | 5ο |
---|---|
Κωδικός | Λ08Υ |
ECTS | 4 |
Διδακτικές Μονάδες | 4 |
Ώρες Θεωρίας | 2 |
Ώρες Ασκήσεων | 1 |
Ώρες Εργαστηρίου | 2 |
Τομέας | Λογισμικού και Ανάπτυξης Εφαρμογών |
Διδάσκοντες | Εφραιμίδης Παύλος |
Συζήτηση |
Ενεργειακός | Υ |
---|---|
Ηλεκτρονικός | Υ |
Τηλεπικοινωνιακός | Υ |
Πίνακας περιεχομένων |
Περιγραφή
Ανάπτυξη λογισμικού. Βασικές έννοιες αλγορίθμων. Δομές δεδομένων. Ταξινόμηση και αναζήτηση. Υπολογιστικά μοντέλα. Η μηχανή Turing και η Random Access Machine. Πολυπλοκότητα αλγορίθμων. Τεχνικές σχεδιασμού αλγορίθμων. Διαίρει και βασίλευε. Αναδρομή και απαλοιφή αναδρομής. Δυναμικός προγραμματισμός. Απληστία. Αλγόριθμοι γραφημάτωων και δέντρων. Αλγόριθμοι με χρήση τυχαιότητας. Κλάσεις πολυπλοκότητας. Οι κλάσεις P και NP. Προβλήματα πλήρη για την κλάση NP. Αναγωγές. Αναφορά σε ευρετικές τεχνικές και αλγόριθμους προσέγγισης.
Απαιτούμενες Γνώσεις
![]() |
Αυτή η ενότητα μπορεί να επεκταθεί ή να βελτιωθεί. Πληροφορίες: Χρήσιμες ή απαραίτητες γνώσεις για το μάθημα. Γνώσεις που αναμένεται να αποκτηθούν. Αναφορά σε άλλα σχετικά μαθήματα. |
Εργαστήρια
Εργασίες
![]() |
Αυτή η ενότητα μπορεί να επεκταθεί ή να βελτιωθεί. Πληροφορίες: Εργασίες που δίνονται στη διάρκεια του μαθήματος. Περιγραφή, σκοπιμότητα και ύλη που καλύπτει η καθεμιά. Επιρροή στην τελική βαθμολογία. |
Πρόοδοι
Δεν πραγματοποιούνται πρόοδοι σε αυτό το μάθημα.
Εξετάσεις και Βαθμολογία
Εξετάσεις και τελική βαθμολογία. Τρόπος διεξαγωγής εξετάσεων και υπολογισμού τελικής βαθμολογίας. Ενδιάμεση αξιολόγηση.
Συγγράμματα
- ΣΧΕΔΙΑΣΜΟΣ ΑΛΓΟΡΙΘΜΩΝ
- ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΑΛΓΟΡΙΘΜΟΥΣ
- ΑΛΓΟΡΙΘΜΟΙ
- ΑΛΓΟΡΙΘΜΟΙ ΣΕ JAVA, ΜΕΡΗ 1-4
Υποστήριξη Μαθήματος
eClass: Το μάθημα βρίσκεται στο eClass με κωδικό ΤΜΑ392.
Σελίδα μαθήματος : http://pericles.ee.duth.gr/courses/2011-12/DS/index.htmlΕπιπρόσθετο Υλικό
Εκπαιδευτικό υλικό για τη γλώσσα Java που καλύπτει τις ανάγκες του μαθήματος δίνεται στα:
- The Java Tutorial, από τη Sun. Μια κλασική, ενημερωμένη πηγή με εκπαιδευτικό υλικό για τη γλώσσα Java.
- Thinking in Java, Bruce Eckel, 3rd Edition (Book Site)
Βιβλιογραφία:
- Αλγόριθμοι, Π. Μποζάνης, Εκδ. ΤΖΙΟΛΑ, 2005
- Data Structures & Algorithms in Java (Second Edition), R. Lafore, SAMS Publishing, 2003 (Ελληνική Έκδοση: Μ. Γκιούρδας).
- Δομές Δεδομένων, Π.Μποζάνης, Εκδ. ΤΖΙΟΛΑ, 2005
- Αλγόριθμοι - Εισαγωγικά θέματα και παραδείγματα, Θ. Παπαθεοδώρου, Καθ. Τμ. Μηχανικών Η/Υ & Πληροφορικής, Εκδόσεις Πανεπιστημίου Πατρών
- Δομές Δεδομένων, Αλγόριθμοι και Εφαρμογές στη C++, S. Sahni, (Μετάφραση: Γ. Θεοδωρίδης και Γ. Μανωλόπουλος για τις Εκδ. ΤΖΙΟΛΑ)
- Προγραμματισμός με Java, Ι. Κάβουρα, Εκδ. Κλειδάριθος, 2003
- Αντικειμενοστραφής προγραμματισμός JAVA, Κλεάνθης Θραμπουλίδης, Τόμος Β', 2η Έκδοση, Εκδόσεις Τζιόλα
- Πλήρες Εγχειρίδιο της Java 2, R. Cadenhead και L. Lemay (Μετάφραση: Εκδ. Κλειδάριθμος)
- Εισαγωγή στην JAVA, Γιώργος Λιακέας, Εκδ. Κλειδάριθμος
- JAVA, ο εύκολος τρόπος, Peter McBride (Μετάφραση: Εκδόσεις ΔΙΑΥΛΟΣ)
- Οδηγός της Java 2, Steven Haines (Μετάφραση: Εκδοτική Β. Γκιούρδας)
- Εισαγωγή στον Προγραμματισμό με C#, M. Michaelis και P. Spokas, (Μετάφραση: Εκδ. Μ. Γκιούρδας, 2001)
- From Java to C# - A Developer's Guide, Heng Ngee Mok, Addisson-Wesley, 2003
- C# for Java Developers, A. Jones and A. Freeman, Microsoft Press, 2003