High-performance data structures and supporting algorithms. Use and implementation of data structures like (un)balanced trees, graphs, priority queues, and hash tables. Also memory management, pointers, recursion. Theoretical and practical performance analysis, both average case and amortized. Uses C++ and STL.
Course information - An advanced data structures course considering practical and analytical aspects. This is a lecture course presenting techniques and evaluation tools and a laboratory course with programming assignments emphasizing efficient implementation methodologies.
NOTE: Repeat credit process for cross-reference courses: Students may receive credit for CSE 100 or Math 176. These courses have been cross-referenced, therefore, a petition is not required for using either course when completing major requirements. However, if you fail one of the courses listed about you should take the SAME COURSE for REPEAT CREDIT. If you use another course that is equivalent, the repeat credit is not automatic and you will need to petition for repeat credit.
Programming assignments, studying data type implementation and efficiencies.
CSE 12, CSE 15L, CSE 21 or Math 15B or MATH 154 or MATH 184A, and CSE 5A or CSE 30 or ECE 15 or MAE 9; restricted to undergraduates. Graduate students will be allowed as space permits. Please see Prerequisite Page.
Credit not offered for both Math 176 and CSE 100. Equivalent to Math 176.
Every quarter: Fall, Winter, and Spring.