Data Structures
The goal of this lecture is to present the basic principles of data structures design and analysis.
Bibliography
- Mehlhorn, Kurt, and Peter Sanders. Algorithms and data structures: The basic toolbox. Springer Science & Business Media, 2008.
- Robert Sedgewick. Algorithms in C: Fundamentals, Data Structures, Sorting, Searching. 3/e, Addison-Wesley Professional, 1997.
- Cormen, T. H., Leiserson, C. E., Rivest, R. L., & Stein, C. (2009). Introduction to algorithms. MIT press.
Lectures
Lecture slides are available both in English and in Greek.
- Fundamentals el
- Recursion and Trees el
- Priority Queues en, el
- Search Trees en, el
- Hashing el
- Graphs en, el
- Sorting el
- Strings el
Lecture videos are available in Greek.
- Introduction video, video
- Recursion and Trees video, video
- Priority Queues video
- Search Trees video, video, video
- Hashing video, video
- Graphs video, video
- Sorting video, video
Labs
Labs can be found in YouTube (only in Greek).
- Lab1 - Stack implementation in C video
- Lab2 - Queue implementation in C video
- Lab3 - Binary Heap implementation in C video
- Lab4 - Vector implementation in C video
- Lab5 - Binary Search Tree implementation in C
- Lab6 - Hashtable implementation in C video
Check out the following playlist.
Example Implementations
Lecture slides with example implementations can be found below.
- Stack Implementation in C en, el
- Queue Implementation in C en, el
- Binary Heap Implementation in C en, el
- Vector Implementation in C en, el
e-class
All announcements and material can also be found at http://eclass.hua.gr/courses/DIT141.