Δομές Δεδομένων
Εισαγωγικά: η έννοια του αλγόριθμου και της δομής δεδομένων. Βασικά χαρακτηριστικά ενός αλγορίθμου. Οι πίνακες (arrays) ως δομή δεδομένων. Αραιοί πίνακες. Αφηρημένοι τύποι δεδομένων (abstract data types). Ορισμός της πολυπλοκότητας χρόνου και χώρου ενός αλγορίθμου. Δυναμικές δομές δεδομένων: στοίβες, ουρές αναμονής, τύποι διασυνδεδεμένων λιστών (διατεταγμένες, απλά ή διπλά διασυνδεδεμένες, κυκλικές), δέντρα. Βασικές πράξεις σε δυναμικές δομές δεδομένων. Διαδικασίες προσπέλασης (searching) σε μια δομή δεδομένων. 2-3 δέντρα και AVL δέντρα. Αλγόριθμοι για το πρόβλημα της διάταξης ακολουθιών (sorting): Διάταξη με συγχώνευση (Mergesort), διάταξη με τη χρήση σωρού (Heapsort), Qiucksort. Το πρόβλημα UNION-FIND και εφαρμογή του στην εύρεση ενός ελάχιστου παράγοντος δέντρου σε γράφημα.