MATH 425: Algorithm Design and Analysis

Tentative Course Outline

Topics  Reading  Assignments
Mathematical background
  • Getting started
  • Growth of functions
  • Recurrences
  • The Master Method
  • Class notes
  3 Sections

2.1 - 2.3
3.1 - 3.2
4.1
4.3
  posted on
Canvas


Analysis techniques
  • Dynamic programming
    • Matrix multiplication
    • Elements of dynamic programming
    • Longest common subsequence
  • Greedy methods
    • A lecture-scheduling problem
    • The knapsack problem
    • Elements of the greedy strategy
    • Matroids and minimum spanning trees
    • A task-scheduling problem
    • Huffman codes
  • Class notes
  • Java implementations
  2 Sections

Section 15
15.2
15.2
15.4
Section 16
notes
16.2
16.2
16.4
16.5
16.3
 


Graph algorithms
  • Elementary graph algorithms
    • Depth-first search
    • Topological sort
    • Strongly connected components
  • Shortest paths
    • The Bellman-Ford algorithm
    • Dijkstra's algorithm
    • The Floyd-Warshall algorithm
  • Graph coloring
  • Class notes
  • Java implementations
  2 Sections

Section 22
22.3
22.4
22.5
Section 24
24.1
24.2 - 24.5
25.1 - 25.2
class notes
 


***** Midterm Exam I *****   Mon, Mar 4
Flow in networks
  • Definition of a flow
  • The Ford-Fulkerson method
  • Maximum bipartite matching
  • Class notes
  Section 26

26.1
26.2
26.3
 


Algebraic algorithms  2 Sections

28.1 - 28.2
30.1 - 30.3
 


String matching  Section 32

32.1
32.2
32.3
 


Geometric algorithms
  • Constructing self-nonintersecting polygons
  • Finding the convex hull
  • Alpha-shapes
  • Finding the closest pair of points
  • Diameter of a point set
  • Class notes
  • Java implementations
  Section 33


33.3

33.4
 
***** Midterm Exam II *****   Sat, Apr 13
NP-completeness  Section 34

34.1 - 34.2
34.3
34.4
34.5
 
Approximation algorithms
  • The vertex cover problem
  • The traveling salesman problem
  • The set-covering problem
  • The subset-sum problem
  • Class notes
  Section 35

35.1
35.2
35.3
35.5
 

Intro to randomized algorithms
  • The Max-3-CNF satisfability
  • The general Max-CNF problem
  • The Monte-Carlo methods
  • The Las Vegas algorithms
  • Class notes
  Section 35

35.4
online notes
online notes
online notes
 
***** Final Exam *****   Thu, May 9,   3pm - 5:00pm in SW3009