Basic abstract data types and their representations, fundamental algorithms, and algorithm analysis are covered. Applications are considered. Specific topics include linked structures, trees, searching and sorting, priority queues, graphs, and hashing. Course requirements include substantial programming.
Prerequisite(s): Grade of C or higher in COS 161, and MAT 145 or MAT 152 or their equivalents, or permission of instructor.
Learning Outcomes
By the end of this course, students will be able to:
- Understand the operation and implementation of many important data structures and algorithms.
- Use mathematics to analyze and compare the performance of these data structures and algorithms.
- Understand efficiency tradeoffs of these data structures and their most appropriate applications.
Textbook
Data Structures: Abstraction and Design Using Java, Fourth Edition, by Koffman & Wolfgang
Syllabus
Offered
Typically Fall Semester
