Εισαγωγή στους αλγορίθμους

Πανεπιστήμιο Πατρών

Μηχανικών Η/Υ και Πληροφορικής

Έτος: 2013-2014

Διδάσκων: Χρήστος Ζαρολιάγκης

Περιγραφή Μαθήματος

Ύλη: Βασικά στοιχεία σχεδιασμού και ανάλυσης αλγορίθμων, αποδοτικότητα αλγορίθμων, ασυμπτωτικός συμβολισμός, ορθότητα αλγορίθμων, βασικές δομές δεδομένων, ουρές προτεραιότητας και εφαρμογή τους στην ταξινόμηση στοιχείων (heapsort). Γραφήματα και αλγόριθμοι γραφημάτων, συνεκτικότητα και διάτρεξη γραφήματος, αναζήτηση πρώτα-κατά-βάθος, αναζήτηση πρώτα-κατά-πλάτος, ακυκλικά γραφήματα, τοπολογική διάταξη. Μέθοδος "Διαίρει & Βασίλευε" και εφαρμογές της στην ταξινόμηση στοιχείων (mergesort), αναδρομή και επίλυση αναδρομικών σχέσεων. Μέθοδοι απληστίας και δυναμικού προγραμματισμού και εφαρμογής τους σε προβλήματα βελτιστοποίησης: ελάχιστα γεννητικά δένδρα, συντομότερες διαδρομές, ροές δικτύων. Εισαγωγή σε επιλεγμένα θέματα (προσεγγιστικοί αλγόριθμοι, στοιχεία γραμμικού προγραμματισμού, τυχαιοποιημένοι αλγόριθμοι).

Video-Διαλέξεις

Διάλεξη 01: Εισαγωγικά - Βασικά στοιχεία σχεδιασμού και ανάλυσης αλγορίθμων

Διάλεξη 02: Ασυμπτωτικός ρυθμός αύξησης

Διάλεξη 03: Βασικές δομές δεδομένων, απλοί αλγόριθμοι, σωρός

Διάλεξη 04: Ευσταθές ταίριασμα

Διάλεξη 05: Μέθοδος «Διαίρει και Βασίλευε» και εφαρμογές της

Διάλεξη 06: Γραφήματα και βασικοί αλγόριθμοι γραφημάτων

Διάλεξη 07: Τοπολογική διάταξη και ισχυρά συνεκτικές συνιστώσες

Διάλεξη 08: Άπληστοι αλγόριθμοι - Χρονοπρογραμματισμός

Διάλεξη 09: Άπληστοι αλγόριθμοι - Ελάχιστα γεννητικά δένδρα

Διάλεξη 10: Άπληστοι αλγόριθμοι - Συντομότερες διαδρομές

Διάλεξη 11: Δυναμικός προγραμματισμός