This course deals with the organization of computer data into useful structures and includes the study of lists, stacks, queues, trees, heaps,sets, graphs, and ways to efficiently store, retrieve, search, sort and manipulate the information contained in these structures. A knowledge of data structures and the ability to analyze the size and running time of these structures in use is an important skill for all students of computer science and information management. A firm grasp of the theory of data structures and algorithms allows the programmer to build large and complex programs with assurance that the programs will run correctly and efficiently.
All assignments are due at the beginning of class on the date specified.