Data Structures and Algorithms

Most common data structures: graphs, queues, lists, arrays. Complexity of algorithms and complexity measures. Types of algorithms: greedy algorithms, dynamic programming, division and achievement. NP-Complete Problems. 

Basic Information

Workload
45 hours

Mandatory: 

  • Dasgupta, S., Papadimitriou, C. H., & Vazirani, U. V. (2008). Algorithms. McGraw-Hill.
  • Kleinberg, J., & Éva Tardos. (2005). Algorithm Design. Addison Wesley.
  • Structure and Interpretation of Computer Programs. (1996). Structure and Interpretation of Computer Programs. MIT Press.
  • Hetland, M. L. (2010). Python Algorithms: Mastering Basic Algorithms in the Python Language. Apress.