Δομές Δεδομένων και Τεχνικές Προγραμματισμού

Εξάμηνο:
2ο
Τύπος Μαθήματος:
Υποχρεωτικό (ΥΜ)
Κατεύθυνση:
-
Κωδικός:
Κ08
ECTS:
7
Διδακτικές Ώρες
Ώρες Θεωρίας:
3
Ώρες Φροντιστηρίου:
1
Ώρες Εργαστηρίου:
1
Μάθημα στις Ειδικεύσεις
Θεμελιώσεις Πληροφορικής (S1):
-
Διαχείριση Δεδομένων και Γνώσης (S2):
-
Λογισμικό (S3):
-
Υλικό και Αρχιτεκτονική (S4):
-
Επικοινωνίες και Δικτύωση (S5):
-
Επεξεργασία Σήματος και Πληροφορίας (S6):
-
Σχετικά Μαθήματα
Σύντομη περιγραφή Μαθήματος

Δείκτες και συνδεδεμένες αναπαραστάσεις στη γλώσσα προγραμματισμού C. Αναδρομή. Ενότητες και Αφαιρετικοί Τύποι Δεδομένων. Στοίβες. Ουρές. Εισαγωγή στην Ανάλυση Αλγορίθμων. Λίστες και Συμβολοσειρές. Δένδρα, σωροί, δένδρα εκφράσεων. Δένδρα δυαδικής αναζήτησης. AVL δένδρα. Δένδρα αναζήτησης m δρόμων, δένδρα 2-3, δένδρα 2-3-4. Β-δένδρα. Κόκκινα-μαύρα δένδρα. Κατακερματισμός. Σύνολα ξένα μεταξύ τους. Γράφοι και αλγόριθμοι για γράφους. Ταξινόμηση.

Διδακτικοί-Μαθησιακοί Στόχοι - Προσδοκώμενα Μαθησιακά Αποτελέσματα

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

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

● Thomas A. Standish: Data Structures, Algorithms and Software Principles in C, Addison-Wesley. 1995.
● Robert Sedgewick: Αλγόριθμοι σε C, Εκδόσεις Κλειδάριθμος, 2006.
● Michael T. Goodrich, Roberto Tamassia: Δομές Δεδομένων & Αλγόριθμοι σε JAVA, Εκδόσεις Δίαυλος, 2013
● Λεπτομερείς διαφάνειες από τις διαλέξεις.
● Άλλο σχετικό υλικό που βρίσκεται στην ιστοσελίδα του μαθήματος.