Section outline
-
-
Διάλεξη 1 — 14/2
- Θέματα διεξαγωγής του μαθήματος και του εργαστηρίου
- Σκοπός του μαθήματος και εισαγωγή
- Σύντομη επανάληψη ύλης του 1ου εξαμήνου
- Ξεχωριστή μεταγλώττιση
- Αναφορές και δείκτες
- Χώροι ονομάτων
- Διαφάνειες
- Video (2020-21), διαφάνειες
- Video (2021-22), διαφάνειες
-
Διάλεξη 2 — 21/2
- Αντικειμενοστρεφής σχεδίαση και προγραμματισμός
- Προσδιοριστές ορατότητας
- Κατασκευαστές, καταστροφείς
- Μέθοδοι getter / setter
- Φίλες συναρτήσεις
- Υπερφόρτωση συναρτήσεων, μεθόδων και τελεστών
- Μέθοδοι const
- Στατικά πεδία και μέθοδοι
- Διαφάνειες
- Video (2020-21), διαφάνειες
- Video (2021-22), διαφάνειες
- Αντικειμενοστρεφής σχεδίαση και προγραμματισμός
-
Διάλεξη 3 — 28/2*
- C++ templates
- Function templates
- Class templates
- Κληρονομικότητα
- Απλή κληρονομικότητα
- Ορατότητα πεδίων
- Διαφάνειες
- Video (2020-21), διαφάνειες
- Video (2021-22), διαφάνειες
- C++ templates
-
Διάλεξη 4 — 7/3*
- Κληρονομικότητα (συνέχεια)
- Πολλαπλή κληρονομικότητα
- Επισκίαση μεθόδων
- Εικονικές μέθοδοι
- Πολυμορφισμός
- Αφηρημένες μέθοδοι και κλάσεις
- Εικονικές κλάσεις
- Εξαιρέσεις
- Διαφάνειες
- Video (2020-21), διαφάνειες
- Video (2021-22), διαφάνειες
- Σημειώσεις για ιεραρχία containers
- Κληρονομικότητα (συνέχεια)
-
Διάλεξη 5 — 15/3
- Πίνακες ως αφηρημένοι τύποι δεδομένων
- Γενικά
- Πίνακες συγκεκριμένης μορφής (τριγωνικοί, συμμετρικοί, κ.λπ.)
- Αραιοί πίνακες
- Υλοποίηση μονοδιάστατων πινάκων
- Υλοποίηση διδιάστατων πινάκων
- Εισαγωγή στην STL
- Γενικά
- Συμβολοσειρές (string)
- Απλοί containers: array
- Διαφάνειες
- Video (2020-21) -- άλλη ύλη! (ιεραρχία containers)
- Video (2021-22), διαφάνειες
- Πίνακες ως αφηρημένοι τύποι δεδομένων
-
Διάλεξη 6 — 21/3
- Εισαγωγή στην STL (επανάληψη και συνέχεια)
- Απλοί containers: array, vector
- Iterators
- Περισσότεροι containers και adapters: list, stack, queue
- Ζεύγη και πλειάδες
- Σύνολα: set, multiset
- Χάρτες: map, multimap
- Memoization
- Χρήσιμοι αλγόριθμοι: αναζήτηση, ταξινόμηση, κ.λπ.
- Διαφάνειες
- Video (2020-21) -- άλλη ύλη! (ιεραρχία containers)
- Video (2021-22), διαφάνειες, κώδικας
- Εισαγωγή στην STL (επανάληψη και συνέχεια)
-
Διάλεξη 7 — 28/3
- Εισαγωγή στην STL (ολοκλήρωση και παραδείγματα)
- Αλγόριθμοι στην STL
- Function objects
- Παράδειγμα 1 STL: phonetic alphabet
- Παράδειγμα 2 STL: διαγωνισμοί προμηθειών
- Παράδειγμα 3 STL: αγορά ηλεκτρικής ενέργειας
- Διαφάνειες
- Video (2021-22), διαφάνειες, κώδικας
- Εισαγωγή στην STL (ολοκλήρωση και παραδείγματα)
-
Διάλεξη 8 — 4/4
- Δένδρα
- Γενικά δένδρα
- Διάσχιση κατά βάθος και κατά πλάτος
- Δυαδικά δένδρα αναζήτησης
- Δένδρα AVL
- Υλοποίηση γενικών, δυαδικών και AVL δένδρων
- Δένδρα πολλαπλών οδεύσεων
- Δένδρα 2-3
- Β-δένδρα
- Δένδρα
-