Description
Fundamental data structures for implementation and analysis. Techniques for solving problems by programming. Analysis for complexity and performance trade-offs. Topics include object oriented design, debugging, abstract data types (ADTs), recursion, big-O notation, interfaces, inheritance, and encapsulation, linked lists, stacks, queues, hash tables, heap, trees, searching, sorting. Prerequisite: EGR 222. (3 units; Fall/Spring)