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 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)