CS 583 Fall 2012
Analysis of Algorithms

Lecture Time: Monday 7:20 pm - 10:00 pm
Location: Innovation Hall 206
Course webpage: http://www.cs.gmu.edu/~lifei/teaching/cs583_fall12
Credit: 3 

Instructor: Fei Li, Room 5326, Engineering Building, email: mailto:lifei@cs.gmu.edu
Office hours: Fridays 2:00pm – 4:00pm

 

Teaching Assistant: Ermo Wei, Room 4456, Engineering Building, email: mailto:'ewei@masonlive.gmu.edu'

Office hours: Thursdays 1:00pm – 3:00pm 


NEWS:

2012/12/11: Assignment 7’s solution is released.

2012/12/03: Assignment 7 is released. It is due in one week.

2012/11/26: Assignment 5’s solution is released.

2012/11/19: Assignment 6 is released. It is due in one week.

2012/11/19: Assignment 4’s solution is released.

2012/11/12: Assignment 5 is released. It is due in one week.

2012/11/05: Assignment 4 is released. It is due in one week.

2012/10/29: Class is cancelled due to storm.

2012/10/01: Assignment 3 is released. It is due in one week.

2012/09/17: Assignment 2 is released. It is due in two weeks.

2012/09/11: Assignment 1 is updated. Its due date is updated. It is due in two weeks.

2012/09/10: Assignment 1 is released. It is due in one week.

No class on September 3, 2012.

Dr. Li’s office hours are changed from Mondays 4:00pm – 6:00pm to Fridays 2:00pm – 4:00pm.


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.

Textbooks:

Introduction to Algorithms by T. H. Cormen, C. E. Leiserson, R. L. Rivest, and C. Stein, 3rd Edition (2009)

Course Materials:

 

Lecture

Date

Topic

Lecture Notes

Scope

Assignments

Note

1

August 27

Introduction

Introduction

Appendix A

Chapter 10 (read it by yourself)

Labor Day

September 3

 

2

September 10

Divide and Conquer

Recurrence

Asymptotic notation

Divide and Conquer

Chapter 3

Chapter 4

Assignment 1:

Page 39, Exercise 2.3-7

Page 41, Problem 2.4

Page 61, Problem 3-3 (select any 10 functions for comparison)

You do not have to solve 3-3.(b)

Page 75, Exercise 4.1-5

Page 107, Problem 4-1

Page 109, Problem 4-5

3

September 17

Probabilistic Analysis

Simplified Master Theorem

 

Wrap up Divide-and-Conquer

 

Probabilistic Analysis

Appendix C

Chapter 5

Assignment 2:

Page 117, Exercise 5.1-3

Page 122, Exercise 5.2-4

Page 122, Exercise 5.2-5

4

September 24

Sorting

 

Wrap-up Probabilistic Analysis

Heapsort (brief)

Quicksort

Chapter 6

Chapter 7

Assignment 1 Due

5

October 1

Search

Linear-time Sorting

Order Statistics

Binary Search

Binary Search (Randomized)

Chapter 8

Chapter 9

Chapter 12

Assignment 3:

Page 215, Exercise 9.1-1

Page 223, Exercise 9.3-8

Page 225, Problem 9-2 (a), (b), and (c)

Assignment 2 Due

6

October 8

October 9

(Tuesday)

Review

Red-Black Tree

 

Augmenting Data Structure

Chapter 13

 

Chapter 14

Assignment 3 Due

7

Midterm Exam

October 15

8

October 22

Dynamic Programming

Dynamic Programming

Chapter 15

Class cancelled due to storm

October 29

 

 

9

November 5

Dynamic Programming

Dynamic Programming

Dynamic-Programming-Examples

Chapter 15

Assignment 4

10

November 12

Greedy Algorithms

Greedy Algorithms

Huffman Codes

Chapter 16

Assignment 5:

Page 428, Exercise 16.2-7

Page 447, Problem 16-2

Assignment 4 Due

11

November 19

Amortized Analysis

Amortized Analysis I

Amortized Analysis II

Chapter 17

Assignment 6:

Page 458, Exercise 17.2-1

one more problem

Assignment 4’s Solution

Assignment 5 Due

12

November 26

Graph Traversals

Minimum Spanning Tree

Graph Traversals

Minimum Spanning Tree

Chapter 22

Chapter 23

Practice Problems

Assignment 6 Due

Assignment 5’s Solution

13

December 3

Shortest Path

Shortest Path I

Shortest Path II

Shortest Path III

Maximum Flow

Chapter 24

Chapter 25

Assignment 7:

Page 679, Problem 24-3

Page 682, Problem 24-6

Page 731, Exercise 26.2-11

Page 762, Problem 26-4

Demo

14

December 10

Maximum Flow

Review

Maximum Flow

Applications

Chapter 26

 

Assignment 7 Due

Assignment 7’s Solution

Final exam

December 17

7:30pm – 10:15pm

Topics:

In this course, we will consider the algorithm design and analysis techniques of various problems coming from the following areas:

·       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)

·       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)

Course Outcomes:

·       An understanding of classical problems in Computer Science

·       An understanding of classical algorithm design and analysis strategies

·       An ability to analyze the computability of a problem

·       Be able to design and analyze new algorithms to solve a computational problem

·       An ability to reason algorithmically

Tentative Grading:

·       Midterm Exam (30%)

·       Final Exam (30%)

·       Assignments (40%)

·       No make-up exams for missed tests.

·       No late assignments graded.

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 andhttp://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.