Algorithms and Data Structures

The course in Algorithms and Data Structures is given in the second semester, first year of Software Engineering and Information Technology curriculum.


  • algorithm analysis
  • recursion
  • arrays, stacks, queues
  • linked lists
  • trees
  • priority queues, heaps
  • maps, hash tables, skip lists, sets
  • search trees
  • sorting and selection
  • text processing
  • graph algorithms
  • memory management and B-trees


Michael T. Goodrich, Roberto Tamassia, Michael H. Goldwasser. Data Structures and Algorithms in Python. Wiley, 2013. ISBN 978-1-118-29027-9