EECS 281: Data Structures and Algorithms - UMich

Electrical Engineering and Computer Science

Official Description from UMich:

Introduction to algorithm analysis and O-notation; Fundamental data structures including lists, stacks, queues, priority queues, hash tables, binary trees, search trees, balanced trees and graphs; searching and sorting algorithms; recursive algorithms; basic graph algorithms; introduction to greedy algorithms and divide and conquer strategy. Several programming assignments.


Archived Document(s):

EECS 281 Section 01 - Stack, Queue, and Priority Queue ADTs (open in new window)

EECS 281 Section 02 - Complexity Analysis (open in new window)

EECS 281 Section 03 - Measuring Runtime Performance (open in new window)

EECS 281 Section 04 - Recursion (open in new window)

EECS 281 Section 05 - Arrays and Container Classes (open in new window)

EECS 281 Section 06 - STL (open in new window)

EECS 281 Section 07 - Heaps, Priority Queues, and Heapsort (open in new window)

EECS 281 Section 08 - Ordered and Sorted Ranges Algorithms and Data Structures to Represent Sets (open in new window)

EECS 281 Section 09 - Elementary Sorting Methods (open in new window)

EECS 281 Section 10 - Quick Sort (open in new window)

EECS 281 Section 11 - Merge Sort (open in new window)

EECS 281 Summary Part 1 (open in new window)

EECS 281 Section 12 - Dictionaries and Hash Tables (open in new window)

EECS 281 Section 13 - Hash Collision and Resolution (open in new window)

EECS 281 Section 14 - Trees, Binary Search Trees (open in new window)

EECS 281 Section 15 - Graphs and Graph Algorithms (open in new window)

EECS 281 Section 16 - Minimum Spanning Trees (open in new window)

EECS 281 Section 17 - Algorithm Families (open in new window)

EECS 281 Section 18 - Bacltracking, Branch and Bound Algorithms (open in new window)

EECS 281 Section 19 - Dynamic Programming & Memoization (open in new window)

EECS 281 Section 20 - Knapsack Shortest Path (open in new window)

EECS 281 Section 21 - Strings and Sequences (open in new window)

EECS 281 Summary Part 2 (open in new window)