Σύντομη περιγραφή
Το μάθημα «Εισαγωγή στους Αλγορίθμους» εισάγει σε θεμελιώδεις αλγοριθμικές έννοιες και τεχνικές, με έμφαση στη σωστή ανάλυση αποδοτικότητας και στην ορθότητα. Καλύπτει βασικές δομές δεδομένων και κλασικούς αλγορίθμους (αναζήτηση/ταξινόμηση), και στη συνέχεια παρουσιάζει βασικές τεχνικές σχεδιασμού: Διαίρει και Βασίλευε, Απληστία και Δυναμικό Προγραμματισμό. Περιλαμβάνει επίσης αλγορίθμους γραφημάτων (BFS/DFS, συνεκτικότητα κ.ά.) και χαρακτηριστικά προβλήματα όπως το ευσταθές ταίριασμα.
Tip – Τι χρειάζεται προσοχή
- Να γράφεται σωστά η ανάλυση χρόνου (ασυμπτωτική πολυπλοκότητα, αναδρομικές σχέσεις) και να δικαιολογείται η ορθότητα (όχι μόνο “βγαίνει το αποτέλεσμα”).
- Στις τεχνικές (divide & conquer, greedy, DP), να ξεκαθαρίζεται το μοτίβο σκέψης και πότε εφαρμόζεται η κάθε μία, με πολλά λυμένα παραδείγματα.
Τι κερδίζεις από αυτό το μάθημα
- Αποτελεί ισχυρό υπόβαθρο για πιο προχωρημένα μαθήματα, όπως Θεωρία Υπολογισμού και Κατανεμημένα Συστήματα, και υποστηρίζει πιο απαιτητικές εργασίες.
- Βελτιώνει ουσιαστικά τον τρόπο επίλυσης προβλημάτων: επιλογή σωστής τεχνικής, καθαρή επιχειρηματολογία και πιο αποδοτικός κώδικας.