Algorithms and Complexity

The goal of this lecture is to present an introduction in the design and analysis of computer algorithms.


  1. Jon Kleinberg, and Éva Tardos, Algorithm Design, Pearson, 2005
  2. T. H. Cormen, C. E. Leiserson, R. L. Rivest, and C. Stein, Introduction to Algorithms, MIT Press, Third Edition, 2009.
  3. S. Dasgupta, C. Papadimitriou, U. Vazirani, Algorithms, Science Engineering and Math, 2011
  4. K. Mehlhorn και P. Sanders, Algorithms and Data Structures, The Basic Toolbox, Springer, 2008.
  5. A. V. Aho, J. E. Hopcroft, and J. D. Ullman. The Design and Analysis of Computer Algorithms. Addison-Wesley, 1974.
  6. K. Mehlhorn, Data structures and algorithms 1/2/3: Sorting and searching, graph algorithms and NP-completness, multi-dimensional searching and computational geometry, Monographs on Theoretical Computer Science, Springer-Verlag (1984).
  7. R. K. Ahuja, R. L. Magnanti, and J. B. Orlin. Network Flows. Prentice Hall, 1993.


Lecture slides are available in Greek.

  1. Fundamentals el
  2. Algorithms Analysis el
  3. Graphs el
  4. Greedy el, video
  5. Divide and Conquer el, video
  6. Dynamic Programming el, video, video
  7. Flows el, video, video, video
  8. Intractability el, video, video
  9. Dealing with NP-Completeness el

Check out the following playlist.


All announcements and material can also be found at