Δείκτες και συνδεδεμένες αναπαραστάσεις στη γλώσσα προγραμματισμού 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
● Λεπτομερείς διαφάνειες από τις διαλέξεις.
● Άλλο σχετικό υλικό που βρίσκεται στην ιστοσελίδα του μαθήματος.