CS 583 Fall 2009

Analysis of Algorithms (Graduate Course)


Lecture Time: Tuesday 7:20 pm - 10:00 pm
Location: Enterprise Hall 276
Course webpage: http://www.cs.gmu.edu/~lifei/teaching/cs583_fall09/
Credit: 3

Instructor: Fei Li, Room 5326, Engineering Building, email: lifei@cs.gmu.edu
Office hours: Thusday 4:30pm - 6:30pm
 
TA: Yanyan Lv, ylu4@gmu.edu
Office hours:
Room 4456, Wednesday 5:00pm - 7:00pm

NEWS:

11/24/09: Lecture notes for Chapters 22 - 25 are uploaded.

11/18/09: Assignment 4 is updated.

11/17/09: Assignment 4 is released.

11/10/09: Lecture note for Chapter 16 is uploaded.

11/03/09: Lecture note for Chapter 15 is uploaded.

11/02/09: Assignment 3 is updated.

10/29/09: Assignment 3 is released.

10/27/09: Lecture notes for Chapters 16 and 23 are uploaded.

10/06/09: Topics on Chapters 12 and 13 will be discussed after the midterm exam.

10/04/09: Lecture notes for Chapters 12 and 13 are uploaded.

09/27/09: Lecture notes for Chapters 8 and 9 are uploaded.

09/23/09: Assignment 2 is released.

09/22/09: Lecture notes for Chapters 6 and 7 are uploaded.

09/22/09: Lecture note for Chapter 11 is updated.

09/15/09: Lecture notes for Chapters 5 and 11 are uploaded.

09/11/09: Problems in assignments are from CLRS 2nd Edition.

09/08/09: Assignment 1 is released.

09/08/09: Lecture note for Chapter 4 is uploaded.

09/02/09: Lecture notes for the Appendix and Chapter 3 are uploaded.

08/30/09: Lecture notes will be posted on this website after each class.


Course Overview:

In this course, a thorough examination of several well-known techniques that are used for the design and analysis of algorithms will be covered. Topics to be covered include theoretical measures of algorithm complexity, sorting and selection algorithms, greedy algorithms, divide and conquer techniques, dynamic programming, graph algorithms, search strategies, and an introduction to the theory of NP-completeness. Additional topics may be covered if time permits. Students are expected to have taken prior undergraduate courses in data structures, as well as calculus and discrete mathematics.

Prerequisites:

CS 310 and CS 330 Calculus (MATH 113, 114, 213) and MATH 125. Please contact with the instructor if you are not sure.

Textbook:

Introduction to Algorithms by T. H. Cormen, C. E. Leiserson, R. L. Rivest, and C. Stein, The McGraw-Hill Companies, 2nd Edition (2001), or 3rd Edition (2009)

Recommended Reference Books:

Algorithm Design by Jon Kleinberg and Eva Tardos, Pearson Education, Inc. (2006). (You can find the sample chapters on the webpage.)

Combinatorial Optimization: Algorithms and Complexity by C. H. Papadimitriou and K. Steiglitz, Englewood Cliffs, Prentice Hall, c1982, Reprinted by Dover Books, 1998

Course Materials (Tentative):
 
Lectures Dates Topics Lecture Notes Scopes Notes
1 September 1 Background

Insertion Sort

Merge Sort

Asymptotic Notation

Mathematical Background

Asymptotic Notation

Appendix

CLRS 2

CLRS 3

CLRS 1-3
2 September 8 Divide and Conquer

Divide and Conquer 1

Divide and Conquer 2

CLRS 4.1 - 4.3 Assignment 1:

Problem 2-2; Exercise 3.2-7; Problem 3-3; Exercise 4.1-5; Problem 4-1 (c), (d), (e), (f); Problem 4-4 (a), (c); and one more problem

CLRS 4

3 September 15 Probabilistic Analysis

Randomized Algorithm

Hashing

Probabilistic Analysis, Randomized Algorithm, and Hashing

CLRS 5.1 - 5.3

CLRS 11.3

CLRS 5
4 September 22

Heap Sort

Quick Sort

Hashing

Heap Sort

Quick Sort

CLRS 6.1 - 6.4

CLRS 7.1 - 7.3

Chapter 11 (slides only)

Assignment 2

CLRS 6, 7
5 September 29 Sorting in Linear Time

Medians

Order Statistics

Linear-Time Sorting

Order Statistics

CLRS 8.1 - 8.3

CLRS 9

CLRS 8, 9
6 October 6 Review

 

Assignment 2 due

CLRS 12, 13, 14

  October 13  

 

 

Cancelled due to Columbus Day

7 October 20      

Midterm exam (7:30pm - 10:00pm)

CLRS 15

8 October 27 Greedy Algorithms

Huffman Code

CLRS 16.1 - 16.3

CLRS 16

9 November 3

Dynamic Programming

Dynamic Programming

CLRS 15

Assignment 3:

Exercises 16.1-2, 16.1-3, 16.1-4, 16.3-3, and

one more problem

CLRS 17

10 November 10 Binary Search Tree

Red-Black Tree

Binary Search Tree (optional)

Red-Black Tree (optional)

CLRS 12.1 - 12.3

CLRS 13

CLRS 19, 21

11 November 17

Amortized Analysis

Fibonacci Heaps

Minimum Spanning Tree

Amortized Analysis

Minimal Spanning Tree

CLRS 17

CLRS 23

Assignment 3 due

Assignment 4:

Problems 15-2, 15-3, 15-4, and

two more problems

one problem on amortized analysis

CLRS 22, 23

12 November 24

Graph Algorithms

Shortest Paths

Shortest Path I

Shortest Path II

CLRS 22

CLRS 24

CLRS 24, 25

13 December 1

All Pairs Shortest Paths

Maximum Flow

Shortest Path III

CLRS 25.1, 25.2

CLRS 26.1 - 26.3

Assignment 4 due

CLRS 26

14 December 8

Review

Review
15 December 15      

Final exam (7:30pm - 10:00pm)

 

Tentative Grading:

Midterm Exam (30%)

Final Exam (30%)

Assignments (40%)

No make-up exams for missed tests.

No late assignments graded.

Topics Covered:

Function growth: O, theta, omega notation
CLRS 3
Recurrence relations
CLRS 4
Probabilistic analysis; randomized algorithms
CLRS 5
Amortized analysis
CLRS 17
Dynamic programming
CLRS 15
Greedy algorithms
CLRS 16.1-3
Sorting heapsort, quicksort, mergesort
CLRS 2, 6, 7
Non-comparison-based
CLRS 8
Selection/order statistics
CLRS 9
Data structures balanced binary search trees
CLRS 12, 13
Hash tables
CLRS 11
Heaps / priority queues
CLRS 6.5, 20
Graph algorithms: BFS/DFS
CLRS 22
Minimum spanning tree
CLRS 23
Shortest paths
CLRS 24, 25
Maximum flow
CLRS 26.1-3
Time Complexity, NP-Complete
CLRS 34


Policies:
 
Hand in hard copies of assignments in class. Please note that all coursework is to be done independently. Plagiarizing the homework will be penalized by maximum negative credit and cheating on the exam will earn you an F in the course. See the GMU Honor Code System and Policies at http://www.gmu.edu/catalog/acadpol.html and http://www.cs.gmu.edu/honor-code.html. You are encouraged to discuss the material BEFORE you do the assignment. As a part of the interaction you can discuss a meaning of the question or possible ways of approaching the solution. The homework should be written strictly by yourself. In case your solution is based on the important idea of someone else please acknowledge that in your solution, to avoid any accusations.
Academic Honesty:

The integrity of the University community is affected by the individual choices made by each of us. GMU has an Honor Code with clear guidelines regarding academic integrity. Three fundamental and rather simple principles to follow at all times are that: (1) all work submitted be your own; (2) when using the work or ideas of others, including fellow students, give full credit through accurate citations; and (3) if you are uncertain about the ground rules on a particular assignment, ask for clarification. No grade is important enough to justify academic misconduct.

Plagiarism means using the exact words, opinions, or factual information from another person without giving the person credit. Writers give credit through accepted documentation styles, such as parenthetical citation, footnotes, or endnotes. Paraphrased material must also be cited, using MLA or APA format. A simple listing of books or articles is not sufficient. Plagiarism is the equivalent of intellectual robbery and cannot be tolerated in the academic setting. If you have any doubts about what constitutes plagiarism, please see me.

Disability Statement:

If you have a learning or physical difference that may affect your academic work, you will need to furnish appropriate documentation to the Disability Resource Center. If you qualify for accommodation, the DRC staff will give you a form detailing appropriate accommodations for your instructor.

In addition to providing your professors with the appropriate form, please take the initiative to discuss accommodation with them at the beginning of the semester and as needed during the term. Because of the range of learning differences, faculty members need to learn from you the most effective ways to assist you. If you have contacted the Disability Resource Center and are waiting to hear from a counselor, please tell me.

/p>