The design, analysis, implementation, and evaluation of the fundamental structures for representing and manipulating data: lists, arrays, trees, tables, heaps, graphs, and their memory management.