Credits: |
|
1 unit (4 credit hours) |
Contact Hours: |
|
3 lecture |
Instructor: |
|
Professor Ge Xia |
Last Taught: |
|
Fall 2013 |
Text Book: |
|
Algorithms By Dasgupta, Papadimitriou, and Vazirani. (McGraw-Hill, 2006.) |
|
|
|
Description: |
|
The design and analysis of algorithms and their complexity. This course studies techniques for measuring algorithm complexity, fundamental algorithms and data structures, intractable problems, and algorithm-design techniques. |
|
|
|
Prerequisites: |
|
CS150 (Data Structures and Algorithms) and
Math182 (Discrete Structures) |
Specific Course Goals:
After successfully completing this course, the student will be able to:
- Students will understand the concepts and be able to apply and analyze the divide-and-conquer approach.
- Students will be able to analyze the complexity of the fundamental graph algorithms.
- Student will understand the concepts and prove memberships for the basic computational complexity classes.
Student Outcomes:
ABET/CAC Outcome 1 |
Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions. |
Topics covered:
- Asymptotic notations
- Complexity analysis
- Recurrence
- Divide-and-conquer approach and sorting algorithms
- Graph representation and graph algorithms
- Topological sort
- Strongly connected components
- Dijkstra’s algorithm
- Bellman-Ford algorithm
- shortest path in DAG
- all-pairs shortest path
- Greedy algorithms
- Minimum spanning tree
- Huffman encoding
- Dynamic programming
- P and NP-complete Problems