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.
Please see Prerequisites page.
Equivalent to Math 176. Credit not offered for both Math 176 and CSE 100. Restricted to undergraduates. Graduate students will be allowed as space permits.
Fall, Winter, and Spring. Please see Tentative Course Offerings page.