The course presents intermediate to advanced descriptive
as well as analytical coverage of various data structures
useful in problem solving and programming. The topics
include data types and performance evaluation. The specific
data types discussed include lists, tables, priority queues,
disjoint subsets, as well as static and dynamic dictionaries.
Data structuring implementation techniques include linked lists,
hashing, and trees. Run time performance using big-O and
amortized analysis.
There will be several C++ programming assignments during the
course; these demonstrate the data types and as well as
advanced features of the programming language. Some of the
assignments will be useful immediately in other course software
projects.
The prerequisites include knowledge of the C++ programming language
as covered in CSE 12 and familiarity with average and expected value
calculations as covered in CSE 20-21.