Data Structures and Algorithms introduces the students to the design and application of data structures and algorithms. Abstract datatypes will be used as a central topic in this course. As part of the basic abstract data types, such as trees, lists, and graphs, the associated algorithms and their complexity will be treated. Besides abstract datatypes the course will focus on design principles for algorithms such as recursion, divide-and-conquer, and dynamic programming. The lectures in this course are accompanied by computer labs, and students are expected to have obtained an understanding of the basic concepts in java via earlier courses. After completing this course students will be able to determine the appropriate data structures and algorithms for a given problem.
Introduction to Computer Science 1 and 2.