Instructor
|
Dr. Sohail Aslam Ph.D Computer Science University of Illinois at Urbana-Champaign
|
Introduction
Model of computation, 2-d maxima
Analysis of 2-d Maxima
Runtime analysis
2-d maxima: sweep line algorithm
Asymptotic Notation
Asymptotic notation, merge sort
Analysis of Merge Sort
Solving recurrence relations, median selection
Median selection - partitioning algorithm
Analysis of median selection, binary heaps, sorting
Heap sort, analysis of heap sort
Quick sort
Analysis of quick sort
Lower bounds for sorting, Linear time sorting, counting sort
Bucket sort, radix sort, dynamic programming, Fibonacci sequence
Dynamic programming - edit distance
Dynamic programming - edit distance algorithm
Dynamic programming - chain matrix multiply
Dynamic programming - chain matrix multiply
Dynamic programming - 0/1 knapsack
Dynamic programming - 0/1 knapsack
Greedy algorithms - coin change problem
Greedy algorithms - Huffman encoding
Greedy algorithms - Huffman encoding
Greedy algorithms - Activity scheduling
Greedy algorithms - fractional knapsack, Graphs - definitions
Graphs - representations, traversal
Graphs - breadth-first search, generic traversal algorithms
Graphs - generic traversal algorithms
Graphs - depth-first search, timestamp structure
Graphs - cycles, topological sorting
Graphs - strong components
Graphs - strong components, minimum spanning tree (MST)
Graphs - MST: generic approach
Graphs - MST: Kruskal's algorithm
Graphs - MST: Prim's algorithm
Graphs - shortest paths
Graphs - Dijkstra's algorithm
Graphs - Dijkstra's algorithm, Bellman-Ford algorithm
Graphs - all-pairs shortest path, Floyd-Warshall's algorithm
Graphs - Floyd-Warshall algorithm
Complexity theory -classes P, NP
Complexity theory - Reductions, graph coloring
Complexity theory - boolean satisfiability, independent sets
|