Ηλεκτρονική Διάθεση Μαθήματος
Μαθησιακά Αποτελέσματα
Οι φοιτητές που ολοκληρώνουν το μάθημα πρέπει να μπορούν:
- Να αναγνωρίζουν και να χρησιμοποιούν την έννοια της δομής δεδομένων ως βασικό συστατικό της
ανάπτυξης κώδικα,
- Να επιλέγουν, να χρησιμοποιούν κατάλληλα, και να αναλύουν τις βασικές δομές,
- Να χρησιμοποιούν και να αναλύουν τους βασικούς αλγόριθμους αναζήτησης, κατακερματισμού και ταξινόμησης,
- Να γράφουν μεσαίου μεγέθους εφαρμογές σε Java.
Περιεχόμενο Μαθήματος
Εισαγωγικό μάθημα στις Δομές Δεδομένων και σε βασικές κατηγορίες Αλγορίθμων. Το μάθημα αποτελεί
συνέχεια των μαθημάτων προγραμματισμού και στοχεύει στην εμβάθυνση των φοιτητών σε τεχνικές
ανάπτυξης λογισμικού και στη βελτίωση των ικανοτήτων τους στον προγραμματισμό. Τα περιεχόμενα
του μαθήματος περιλαμβάνουν τα εξής:
- Δεδομένα και πληροφορία. Δομή δεδομένων, αλγόριθμος και πολυπλοκότητα.
- Εισαγωγή στη Java.
- Τρόποι αποθήκευσης και προσπέλασης πινάκων. Συνδεδεμένες και σειριακές γραμμικές λίστες.
- Δένδρα: τρόποι αποθήκευσης, αναζήτησης, εισαγωγής και διαγραφής στοιχείων. Ισοζυγισμένα
δένδρα. Β-Δένδρα. Εφαρμογές δένδρων. Σωροί.
- Μέθοδοι αναζήτησης. Μέθοδοι ταύτισης προτύπου σε κείμενο.
- Κατακερματισμός.
- Αλγόριθμοι ταξινόμησης.
Λέξεις Κλειδιά
Δομές Δεδομένων, Αλγόριθμοι, Αλγοριθμική Πολυπλοκότητα, Γλώσσα Java, Πίνακες, Λίστες, Δένδρα, Σωροί, Αναζήτηση, Κατακερματισμός, Ταξινόμηση
Βιβλιογραφία μαθήματος (Εύδοξος)
1. Δομές Δεδομένων & Αλγόριθμοι στη Java, 2η έκδοση, Robert Lafore, Εκδόσεις Γκιούρδας, 2005.
2. Δομές Δεδομένων, Π. Μποζάνης, 1η έκδοση, Εκδόσεις Τζιόλας, 2006.
3. Δομές Δεδομένων: Έννοιες, Τεχνικές, Αλγόριθμοι, Γ.Φ. Γεωργακόπουλος, Πανεπιστημιακές Εκδόσεις Κρήτης, 2011.