The School of Electrical Engineering and Computer Science

CptS 450: Design and Analysis of Algorithms

Catalog Information
Course Number: 
450
Credits: 
3
Pre-Requisites


Some programming experience (recursive procedures and simple data structures such as arrays and linked lists), some familiarity with proofs by mathematical induction, some knowledge of elementary calculus and probability

Class Information
Objectives: 

The course aims to introduce students to techniques of developing efficient algorithms and analyzing the resource use of algorithms. It covers design principles such as dynamic programming, greedy methods and the divide and conquer method. It also include basic techniques in computing time/space complexity bounds of algorithms.

Topics: 
  1. What is an algorithm? Fundamentals
  2. Worst-case and average time complexities
  3. Comparison-based sorting: lower complexity bound
  4. Quick_Select: complexity analysis
  5. Optimal Sort: complexity analysis
  6. Divide and conquer: Karatsuba algorithm and closest pair algorithm
  7. Dynamic programming: LCS algorithm and a generalized LCS algorithm, applications in bioinformatics
  8. Greedy algorithms: Huffman code and analysis
  9. Amortized analysis: aggregate method, accounting method, potential method
  10. Basic graph algorithms and analysis: DFS, BFS, topological sort, minimal spanning tree, shortest path
  11. Advanced graph algorithms and applications: SCC, machines/programs as graphs, search over symbolic graphs
  12. Number-theoretic algorithms: RSA and security protocols
  13. NP-completeness, many-to-one reduction, SAT, 3SAT
  14. Probabilistic algorithms: Pugh's skip-list
  15. Automata-theoretic algorithms
Requirements
Textbooks/References: 

T.C. Cormen, C.H. Leiserson, and R.L. Rivest, Introduction to Algorithms, The MIT Press and McGraw-Hill, 1992.

Professor/Coordinator: 
Zhe Dang
 

Events

« October 2008 »
SMTWTFS
1234
567891011
12131415161718
19202122232425
262728293031
 
Contact us: webmaster@eecs.wsu.edu | Telephone: 509 335 6602 Fax: 509 335 3818 | Accessibility | Copyright | Policies
School of Electrical Engineering and Computer Science, PO BOX 642752, Washington State University, Pullman, WA, 99164-2752 USA