For experiments by the Euclid team.

Σκοπός του μαθήματος είναι η μελέτη βασικών εννοιών Δομών Δεδομένων και Αλγορίθμων και η εφαρμογή τους για την επίλυση υπολογιστικών προβλημάτων. Ενδεικτικές θεματικές ενότητες του μαθήματος: Υπολογιστικά μοντέλα. Βασικές έννοιες αλγορίθμων. Πολυπλοκότητα αλγορίθμων. Κλάσεις πολυπλοκότητας. Ασυμπτωτικές προσεγγίσεις και συμβολισμοί. Αναζήτηση και ταξινόμηση. Αναδρομικοί αλγόριθμοι. Δομές Δεδομένων. Στοίβες και ουρές. Συνδεδεμένες λίστες. Βασικές έννοιες δέντρων. Διάσχιση δέντρου. Δυαδικά δέντρα αναζήτησης. Ισοζυγισμένα δέντρα αναζήτησης. Ουρές προτεραιότητας. Κατακερματισμός. Αλγόριθμοι γραφημάτων. Σχεδιασμός και υλοποίηση δομών δεδομένων και αλγορίθμων σε περιβάλλον προγραμματισμού JAVA.