COSC 173: Data Structures

Course Description

This course is designed for majors and minors in their second year of study. It covers basic algorithm analysis, such as worst-case, average-case and amortized analysis, and the application of this analysis to algorithms that manipulate a variety of data structures. Such algorithms include those for inserting, removing, and retrieving data, while data structures include stacks, queues, lists, trees, heaps, AVL trees, red-black trees, (2, 4) trees, (a, b) trees, B-trees, hash tables, and graphs. Other algorithms include those for sorting. In addition to formal analysis, students implement a selection of these data structures and algorithms using the C++ programming language. Topics are theoretical in nature and are presented with only cursory reference to application, but in practice, they have dramatic impact.

Prerequisites: Computer Science II (COSC 072) and Math Methods for Computer Science (COSC 127).

Primary Text:

Other Texts:


Go Back