Learning Outcomes
After the course, students will be familiar with fundamental data structures for main memory and how these are used by algorithms to solve problems. Moreover, students have to implement some data structures and algorithms in the C++ programming language in order to solve specific problems.
Course Content (Syllabus)
The basic target of this course is the study of fundamental data structures and algorithms.
More specifically, this study contains some theoretical issues as well as their practical applications.
In particular, we study arrays, lists, stacks, queues and priority queues, search trees, hashing, graphs as
well as searching, sorting, shortest paths and many fundamental algorithms that are based on these data structures.
Course Bibliography (Eudoxus)
"Δομές Δεδομένων, Αλγόριθμοι και Εφαρμογές στη C++",
S. Sahni, Μετάφραση Ι. Μανωλόπουλος και Ι. Θεοδωρίδης, Εκδόσεις Τζιόλα, 2004.
Στην ιστοσελίδα του μαθήματος δίνονται επίσης επιπλέον σημειώσεις και σύνδεσμοι για
συγκεκριμένα θέματα, για την καλύτερη κατανόηση των εννοιών.
Π. Μποζάνης. Αλγόριθμοι: Σχεδιασμός και Ανάλυση. Εκδόσεις Τζιόλα,
Θεσσαλονίκη, 2003.
Γ.Φ. Γεωργακόπουλος. Δομές Δεδομένων , Έννοιες, Τεχνικές και Αλγόριθμοι.
Πανεπιστημιακές Εκδόσεις Κρήτης
Additional bibliography for study
T.H. Cormen, C.E. Leiserson, R.L. Rivest, C. Stein. Introduction to Algorithms (2nd
Edition). The MIT Press, 2003.
K. Mehlhorn. Data Structures and Algorithms. Springer Verlag, EATCS Monographs,
1984.