INFORMATION ON CS 4349.004.24S (Spring'2024)
Advanced Algorithm Design and Analysis
TuTh 11:30am-12:45pm, ECSS 2.410

Office Hours: Tuesday 4:00-5:00 pm
Location: ECSS 3.611

Teaching Assistants: Wenting Wang

TA Office Hours: Thursday 1:00-3:00pm
Location: ECSS 4.221
E-mail: Wenting.Wang@utdallas.edu

Textbook

T.H. Corman, C.E. Leiserson, R.L. Rivest and C. Stein:

Introduction to Algorithms (3rd edition)

MIT Press
ISBN 0-262-03293-7
Pages: 1180
Published: 2009

Lectures

Prerequisites: CS 3345 (Data structures and algorithms):
Fundamental data structures: Stack, queue, list, tree.
Fundamental algorithms: Sorting, depth-first and breadth-first search.
Graphs: representation and topological sorting.
Running-time analysis of algorithms and order notation.

Lecture Notes
Remark: This is a partial book: Introduction to Combinatorial Optimization (By Du, Pardals,
Hu, Wu). There are 6 chapters which can serve the lecture notes of this course.

Part I Algorithms with Self-reduction

(1) Sorting and Divide-and-Conquer
Lecture 1-1 Introduction (Chapter 1~4)
Lecture 1-2 Sorting (Chapter 6~7)
Lecture 1-3 Sorting and Selection(Chapter 8~9)
Lecture 1-4 Divide-and-Conquer (Chapter 4)
Recitation 1

(2) Shortest Path and Dynamic Programming
Lecture 2-1 Dynamic Programming (Chapter 15)
Lecture 2-2 Shortest Path (Chapter 24)
Lecture 2-3 Dijkstra's Algorithm (Chapter 24)
Lecture 2-4 Priority-Queque and Implementation of Dijkstra's Algorithm (Sec. 6.5)
Lecture 2-5 All Pairs Shortest Path (Chapter 25)
Recitation 2

(3) Minimum Spanning Tree and Greedy Algorithms
Lecture 3-1 Greedy Strategy (Sec. 16.1~3)
Lecture 3-2 Spanning Tree (Chapter 23)
Lecture 3-3 Matroid (Sec. 16.4~5)
Lecture 3-4 Local Ratio (Sec. 16.4~5)
Recitation 3

Part II Incremental Methods

(4) Network Flow and Incremental Method
Lecture 4-1 Ford-Fulkerson Method (Sec 26.1)
Lecture 4-2 Edmonds-Karp Algorithm (Sec. 26.2)
Lecture 4-3 Maximum Matching (Sec. 26.3, Problem 26-6)
Lecture 4-4 Minimum Cost Flow (Sec. 29.2)
Recitation 4

Part III Computational Complexity

(5) NP-hard Problems
Lecture 5-1 What's NP? (Chapter 34)
Lecture 5-2 NP-Complete Problems (Chapter 34)
Lecture 5-3 More NP-Complete Problems (Chapter 34)
Lecture 5-4 More NP-Complete Problems (Chapter 34)
Lecture 5-5 More NP-Complete Problems (Chapter 34)
Recitation 5

Homeworks, (Pop Quizes) and Examinations

PLEASE NOTE: Copying posted solution in internet will be counted as CHEATING in Homeworks and Exams.

There are 5 homeworks for 5 sets of lectures.

NO LATE HOMEWORK will be accepted. (0 point will be given to late homework.)

PLEASE NOTE: You are encouraged to discuss with your classmates about homeworks.

(No quize in this semester.) Some "Pop Quize" may be given in class WITHOUT ANNOUNCEMENT. There is no make-up for any quiz.

There are two exams:

Both exams are in classroom (open book, open notes, open your laptop)
The Midterm Exam on March 9.
The Final Exam on May 4.

Grade: There are 8 points for each assignment, totally 40 points.
There are totally 50 points for two exams, 25 points for the Midterm Exam and 25 points for the Final Exam.
There are 10 points for attendence of lectures.
Grades will be assigned according to the total number of received points:
A >= 85 > B >= 70 > C >= 50.

Letter from the Head of CS Department (note: Will be applicable currently)

"I want to welcome you to the Spring 2018 semester and wish you a very happy 2018. May you all make a 4.0 this semester. However, to reach that 4.0 you have to make sure that you attend all your classes. So let me take this opportunity to remind you that the CS Department observes rules for attendance that are strictly enforced: 3 consecutive absences result in a 1 letter downgrade and 4 consecutive absences result in an F. It is especially important that you do not miss classes at the beginning of the semester."