CS 4/5703 Analysis of Algorithms
Fall 2008
Instructor: Dr. Huang
Office room: CSM 128
Email: xzhuang@csm.astate.edu
Class meeting: MWF 10:00am-10:50am room: CSM 212
Office Hours: MW 10:50am-1:00pm or by appointment
Analysis of Algorithms
This is the first course on algorithm design and analysis. In data structures we have looked at "baby" algorithms, big-O, sorting, etc., now we shold be prepared for the standard algorithm course.
Goal
At the end of the semester you should:
- be familiar with fundamental algorithms and algorithmic techniques,
- given a particular application, be able to decide which
algorithm among a set of possible choices is best,
- be able to prove correctness and analyze the running time of
a given algorithm,
- be able to design efficient algorithms for new situations using
the techniques learned,
- be able to prove a problem is NP-complete using reduction and
understand the implications.
Major Topics
- Overview.
- Mathematical preliminaries.
- Sorting algorithms.
- Some useful data structures.
- Algorithm design and analysis techniques.
- Graph theory algorithms.
- Introduction to computational complexity .
Textbook
- Introduction to Algorithms, Second Edition, Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein, MIT Press / McGraw-Hill, 2001.
Useful links
Graph theory
Complexity