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.
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
Fall and Spring Semester