Semester 3

Course: Algorithms and Data Structures

Κωδικός Μαθήματος: ΜΚ17
Επίπεδο Μαθήματος: Προπτυχιακό
Είδος Μαθήματος: Υποχρεωτικό
Εξάμηνο: 3
Κατεύθυνση: Μάθημα κορμού
Ομάδα: Μάθημα κορμού
Διδακτικές Μονάδες: 5
Ώρες διδασκαλίας: 4
Γλώσσα διδασκαλίας:Greek

Abstract Data Types. Compound Data Structures. Arrays, Pointers, Linked Lists, Stacks, Queues. Algorithms and Complexity. Recursive Algorithms. Searching and Sorting Algorithms. Graphs and Trees. Search Trees. Priority Queues. Heap. Hashing. Programming in C

Αναμενόμενα μαθησιακά αποτελέσματα:

Upon successful completion of this course, students will: 

  • to analyze and compare the efficiency of algorithms in terms of their theoretical complexity
  • to use, develop and extend the data structures arrays, lists, queues, stacks and trees and understand their applications 
  • to select and/or develop appropriate data structures and algorithms in unknown problems
  • to develop and implement sorting algorithms
  • to use various hashing techniques for data storage


Μέθοδοι Διδασκαλίας:

Lectures, labs


Exercises (15%), Written intermediate exams (15%), Written final exams (100%)

  1. S. Sahni. Δομές Δεδομένων, Αλγόριθμοι και Εφαρμογές στην C++ .  
  2. Π. Μποζάνης. Αλγόριθμοι: Σχεδιασμός και Ανάλυση. Εκδόσεις Τζιόλα, Θεσσαλονίκη, 2003.  
  3. Γ.Φ. Γεωργακόπουλος. Δομές Δεδομένων, Έννοιες, Τεχνικές και Αλγόριθμοι. Πανεπιστημιακές Εκδόσεις Κρήτης ,  
  4. T.H. Cormen, C.E. Leiserson, R.L. Rivest, C. Stein. Introduction to Algorithms (2nd Edition). The MIT Press, 2003.  
  5. K. Mehlhorn. Data Structures and Algorithms. Springer Verlag, EATCS Monographs, 1984.  
  6. G. Brassard and P. Bratley. Algorithmics: Theory and Practice. Prentice-Hall, 1988.
Lecturer: Ploskas Nikolaos