Βασικές έννοιες στην ανάλυση αλγορίθμων. Αφηρημένοι τύποι δεδομένων. Πίνακες, λίστες, στοίβες, ουρές, σωροί. Αλγόριθμοι ταξινόμησης. Δένδρα και γραφήματα. Δένδρα αναζήτησης, ισοζυγισμένα δέντρα και ερυθρόμαυρα δέντρα. Δομή του συνόλου, δομές εύρεσης-ένωσης (Union-Find) και δομή λεξικού. Κατακερματισμός. Σωροί και ουρές προτεραιότητας.
Εαρ. Εξάμηνο 2018 - 2019. Μάθημα υποχρεωτικό 2ου έτους.
Πρόγραμμα: Τρίτη 12.00 - 15.00
Προαπαιτούμενες γνώσεις ή/και σχετικά μαθήματα:
Διακριτά Μαθηματικά, Εισαγωγή στον Προγραμματισμό, Αντικειμενοστρεφής Προγραμματισμός, Αλγόριθμοι και Πολυπλοκότητα, Θεωρία Γράφων
Μαθησιακοί Στόχοι:
- Βασικές έννοιες στην ανάλυση αλγορίθμων
- Αφηρημένοι τύποι δεδομένων
- Ανάλυση (ορθότητα και πολυπλοκότητα) βασικών και προχωρημένων δομών δεδομένων
Μέθοδοι Διδασκαλίας:
Διαλέξεις θεωρίας (3 ώρες/εβδομάδα) και εργαστήριο (2 ώρες/2-3 εβδομάδες) με επίλυση ασκήσεων.
Τρόπος Εξέτασης:
Μία σειρά ασκήσεων κάθε 3 εβδομάδες, ενδιάμεση γραπτή εξέταση (πρόοδος), τελικές γραπτές εξετάσεις.
Υλικό: Σημειώσεις, Διαφάνειες