Τεχνικές σχεδίασης αλγορίθμων και ανάλυσης πολυπλοκότητας με εφαρμογές στην επιστήμη των υπολογιστών

Να αναγνωρίζεις και να επεξηγείς με σαφήνεια θεμελιώδεις αλγοριθμικές έννοιες, εστιάζοντας στη θεωρητική τους βάση και τη σημασία τους στην επίλυση υπολογιστικών προβλημάτων.
Να περιγράφεις τις μαθηματικές μεθόδους που εφαρμόζονται για τον έλεγχο της ορθότητας αλγορίθμων, όπως η μαθηματική επαγωγή και η ανάλυση ορθότητας βημάτων.
Να αναγνωρίζεις και να αναφέρεις τις βασικές τεχνικές επίλυσης θεμελιωδών αλγοριθμικών προβλημάτων, συμπεριλαμβανομένων της διαίρει και βασίλευε, της οπισθοδρόμησης και της άπληστης μεθόδου.
Να περιγράφεις τις μαθηματικές μεθόδους ανάλυσης που χρησιμοποιούνται για τον προσδιορισμό της υπολογιστικής πολυπλοκότητας αλγορίθμων, όπως η ανάλυση περίπτωσης χειρότερου σεναρίου και η χρήση ασυμπτωτικών ορίων.
Να εξηγείς με ακρίβεια την ορολογία και τα σύμβολα του ασυμπτωτικού συμβολισμού (όπως Ο, Ω και Θ), ερμηνεύοντας τη σημασία τους στην ανάλυση αλγορίθμων.
Να διακρίνεις και να αποκωδικοποιείς διαφορετικούς τύπους αλγορίθμων, ταξινομώντας τους βάσει της λειτουργίας και της δομής τους.
Να διατυπώνεις τις βασικές αρχές του Δυναμικού Προγραμματισμού και να αναγνωρίζεις σχετικά προβλήματα που επιλύονται αποτελεσματικά με αυτή τη μέθοδο.
-
Βασικές έννοιες και στοιχεία ανάλυσης αλγορίθμων
-
Βασικοί ορισμοί και εφαρμογές
-
Μαθηματικό Υπόβαθρο
-
Ασυμπτωτικός ρυθμός αύξησης
-
Διάτρεξη γραφήματος
-
-
Διαίρει και Βασίλευε
-
Αναδρομικές σχέσεις
-
Ταξινόμηση με συγχώνευση
-
Τυχαιοποιημένη μέθοδος “Διαίρει και Βασίλευε”: Διάμεσο στοιχείο και Quicksort
-
-
Άπληστοι Αλγόριθμοι
-
Δρομολόγηση Εργασιών
-
Πρόβλημα Σακιδίου
-
Συντομότερα μονοπάτια
-
Δέντρα Επικάλυψης Ελαχίστου Κόστους
-
-
Δυναμικός Προγραμματισμός
-
Αρχές δυναμικού προγραμματισμού
-
Αθροίσματα υποσυνόλων και σακίδια
-
Συντομότερα μονοπάτια σε άκυκλα γραφήματα
-
Αρνητικοί κύκλοι σε γραφήματα
-
Μέγιστη κοινή υπακολουθία
-
- Συνολικός χρόνος ενασχόλησης: 70 ώρες
- Online μαθήματα με τους εκπαιδευτές: 12 ώρες
- Διάρκεια: 2 μήνες