Δομές Δεδομένων

Διδάσκοντες Ορέστης Τελέλης
Χρήστος Δουλκερίδης
Αρίστη Γαλάνη
Κατηγορία μαθήματος Κ
Κωδικός μαθήματος ΨΣ-503
Πιστωτικές μονάδες 5
Ώρες μαθήματος 3 ώρες
Ώρες εργαστηρίων 2 ώρες
Ηλεκτρονικό υλικό Προβολή στον Αρίσταρχο (Open e-Class)

Μαθησιακά Αποτελέσματα

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

Με την επιτυχή ολοκλήρωση του μαθήματος ο φοιτητής /τρια θα είναι σε θέση:

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

Περιεχόμενα

  • Εισαγωγή, στόχος μαθήματος, ανάλυση πολυπλοκότητας ως εργαλείο αποτίμησης της απόδοσης πράξεων σε δομές δεδομένων
  • Πίνακες
  • Στοίβες και ουρές.
  • Συνδεδεμένες λίστες, απλά συνδεδεμένες, διπλά συνδεδεμένες, κυκλικές λίστες
  • Απλή ταξινόμηση (bubblesort, selectionsort, insertionsort)
  • Δυαδικά δέντρα, δυαδικά δέντρα αναζήτησης
  • Ισοζυγισμένα δυαδικά δέντρα αναζήτησης
  • Ουρές προτεραιότητας, εισαγωγικά στοιχεία προχωρημένης ταξινόμησης
  • Ερυθρόμαυρα δέντρα, 2-3-4 δέντρα
  • Δέντρα πολλαπλών δρόμων, Β-δέντρα
  • Πίνακας κατακερματισμού
  • Δομές δεδομένων με τη μορφή γράφων, τρόποι αναπαράστασης (πίνακας και λίστα γειτνίασης), βασικοί αλγόριθμοι αναζήτησης (αναζήτηση κατά βάθος και κατά πλάτος)
  • Επανάληψη

Προτεινόμενα Συγγράμματα

  • Lafore R. (2005): Δομές Δεδομένων και Αλγόριθμοι στη JAVA (μεταφρασμένο), Εκδόσεις Μ. Γκιούρδας.
  • Goodrich M., Tamassia R. (2013): Δομές Δεδομένων και Αλγόριθμοι σε Java, (μεταφρ. Μ.Χατζόπουλος), Εκδόσεις Δίαυλος.
  • Sedgewick R. (2005): Αλγόριθμοι σε Java, Τόμοι 1-4, 3η αμερικάνικη έκδοση (μεταφρασμένο), Εκδόσεις Κλειδάριθμος

Πρόσθετη βιβλιογραφία

Στο σύστημα ΕΥΔΟΞΟΣ αναρτώνται σε ηλεκτρονική μορφή χρήσιμες πληροφορίες καθώς και ασκήσεις για την εξάσκηση των φοιτητών/τριών.