CS 647 Computer Algorithms

CHAPTER  TOPIC 
10  Order Statistics 
13  Binary Search Trees 
14  RedBlack Trees 
15  Augmenting Data Structures 
16  Dynamic Programming 
17  Greedy Algorithms 
18  Amortized Analysis 
19  BTrees 
20  Binomial Heaps 
21  Fibonacci Heaps 
22  Data Structures for Disjoint Sets 
23  Elementary Graph Algorithms 
24  Minimum Spanning Trees 
25  SingleSource Shortest Paths 
26  AllPairs Shortest Paths 
27  Maximum Flow 
31.2  Strassen's Algorithm for Matrix Multiplication 
34  String Matching 
36  NP Completeness 
37  Approximation Algorithms 
I will base your entire grade on homework.
The homework will consist of exercises, primarily from the text, although other exercises may also be assigned. The homework will be assigned on a weekly basis, except for those weeks when there is a holiday. In determining your final grade, your two lowest homework grades will be dropped, and the remaining ones will be weighted equally.
Homework is the best way for you to learn this subject, and with a small class, it should be possible to run the class this way. I hope this will not be abused. All work in this course should be individual effort. It is perfectly fine (and even encouraged) to discuss the homework problems with me or other students, but the work should be your own. A first time or minor infraction of this policy on a homework assignment will be penalized by a grade of 0 for that assignment. Repeated or flagrant violations will result in a grade of F for the course.