CSE 3500:  Algorithms and Complexity
Spring 2018

Instructor: Yufeng Wu

Grader: Vinayak Gupta (vinayak.gupta@uconn.edu)

: Monday and Wednesday 3:35--4:50 pm, AUST 434.

Office Hour: ITE 235, Monday and Wednesday 10:00 to 12:00 am, or by appointment.
Note: solutions of homework and exams will be posted on HuskyCT.

Course Description. See the Syllabus.


Lecture 23: NP completeness. Short subject: algorithms for NP completeness problems.

Lecture 22: NP completeness (taught by Prof. Mukul Bansal).

Notes on algorithms for NP complete problems.
Chapters 8 and 10.

Lecture 21: Concept of NP. Polynomial time reduction.

Lecture 20: Shortest path. Concept of NP.

Notes on polynomial time reduction.
Notes on concept of NP.
Chapter 8.
HW8. Due: 4/27 end of day.
Lecture 19: Graph algorithms: MST and shortest path.

Exam two.

Lecture notes on shortest path.
Sections 4.4 and 6.8.
HW7. Due: 4/18 end of day.
Lecture 18: Dynamic programming. Graph algorithms: MST.

Lecture 17: Dynamic programming.

Lecture notes on MST.
Sections 6.1and 4.5.

Lecture 16: Dynamic programming.

Lecture 15: Dynamic programming

Lecture notes 8.
Sections 6.2 and 6.6
HW6. Due: 4/4 end of day.
Snow day (again!!)

Lecture 14: Divide and conquer. Introduction to dynamic programming.

Lecture notes 7.
Sections 5.4 and 6.2.

Snow day (again!)

Lecture 13: Divide and conquer

Lecture notes 6: divide and conquer
Chapter 5.
HW5. Due: 3/19 end of day.
Exam one.

Lecture 12: Divide and conquer. Master theorem.

Notes on Master Theorem.
Chapter 5.

Lecture 11: greedy algorithm; divide and conquer

Lecture 10: greedy algorithm for Huffman coding (sect. 4.8)

Lecture notes 5: greedy algorithms.
Chapters 4 and 5.
HW4. Due: 2/26 end of day. Note: no extension will be given because I need to post solution before the exam 1.
Lecture 9 (make up lecture): greedy algorithms for coin change, interval scheduling (sect. 4.1) and scheduling to minimize maximum lateness (sect. 4.2).

Lecture 8: DFS and applications.

Lecture 7: Bipartite graph. DFS.

Lecture notes 4: greedy algorithm.
Chapters 3 and 4.
HW3. Due: 2/19 end of day.
Lecture 6: Snow day.

Lecture 5: Heap. Graph BFS.

Lecture notes 3.
Read Section 3.4 for bipartite graph.
Chapter 3.

Lecture 4: Common running time. Heap.

Lecture 3: Asymptotic notations

Lecture notes 2.
Notes on heap (see the end of the second page).
Chapter 2.
HW2. Due: 2/7 end of day.
Lecture 2: Basics of algorithm analysis.

Lecture 1: Basic concepts of algorithms. Stable matching problem: a motivating example.

Lecture notes 1 (from previous offering of this course): please note lecture topics will be similar with previous offering of this course. So I often will re-use the lecture notes.
Chapters 1 and 2 of the textbook.

We discussed insertion sort in the class. Check out these slides which contain detailed explanation on insertion sort.

HW1. Due: 1/29 end of day.
Note: submit electronically to HuskyCT.

No class (snow day)