Data Structures

Course Contents (Syllabus):

Introduction to Algorithms. Abstract Data Types. Array, List, Stack, Queue, Heap. Sorting Algorithms. Trees and Graphs. Binary Search Trees, AVL, Red-Black Trees. Sets, Union-Find and Dictionary Structures. Hashing. Heaps and Priority Queues.

Required course, 2nd year

Prerequisites and/or related courses: 

Discrete Mathematics, Introduction to Programming, Object-oriented Programming, Algorithms and Complexity, Graph Theory

Objectives:

- Introduction to algorithms

- Abstract Data Types

- Analysis (proof of correctness and complexity) of basic and advanced data structures

Teaching Methods:

Theory lectures (4h/week) and lab exercises (1h/week).

Assessment methods: 

One group of exercises (homework) every 3 weeks, mid-term written examination, final written examination.

Teaching Material: Notes, Slides

Recommended reading:

- Data structures, P. Bozanis, Ekdosis A. Tziola and Sons A. E., 2006 (in Greek).

- Data structures, algorithms and applications in C++, Sahnii Sartaj, Ekdosis A. Tziola and Sons A. E., 2004 (in Greek).

- Design and analysis of algorithms, K. Paparrizos, Ekdosis A. Tziola and Sons A. E., 2010 (in Greek).

- Introduction to Algorithms vol. 1, T. Cormen, C. Leiserson, R. Rivest, C. Stein, Panepistimiakes Ekdosis Kritis, 2009  (in Greek).

Bibliography:

- Data structures, P. Bozanis, Ekdosis A. Tziola and Sons A. E., 2006 (in Greek).

- Data Structures and Algorithms, A. Aho, J. Hopcroft, J. Ullman. Addison-Wesley Publishing Company, 1983

- Introduction to Algorithms vol. 1, T. Cormen, C. Leiserson, R. Rivest, C. Stein, Panepistimiakes Ekdosis Kritis, 2009 (in Greek).

- Algorithms and Complexity, E. Zachos, Notes, National Technical University of Athens, 2007 (in Greek).

- Data structures with C, N. Misirlis, 2008 (in Greek).

- Algorithms in C, Parts 1-4: Fundamental Algorithms, Data Structures, Sorting, Searching, R. Sedgewick, Ekdosis Klidarithmos EPE, 2006 (in Greek).

Updated: 12-Oct-2023                                                                               email: e<lastname>@dib.uth.gr