DTSC 5501 - Data Structures and Algorithms Course uri icon



  • This course provides students with a fundamental introduction to data structures and the design and analysis of algorithms. It covers a range of data structures such as priority queues, hash functions, and trees alongside algorithmic design techniques such as divide and conquer, dynamic programming, and greedy algorithms. The course demonstrates applications of these concepts in a number of contexts such as the sorting of arrays, and the use of hash-tables for approximate counting. Some advanced topics, such as the data structures and algorithms used to represent and analyze spatial data, are also covered. The course ends with a brief introduction to intractability (NP-completeness) and using linear/integer programming solvers for solving optimization problems. This course cannot be applied for credit towards a graduate degree in Computer Science.