The objective of this course is to introduce advanced data structures and algorithm analysis techniques. This course introduces the use of graphs in problem solving and algorithm development and describes how to develop algorithms using advanced data structures.
Upon succesful completion of this course, a student will be able to
1. Use advanced data structures in modeling and solving problems
2. Use graphs and directed graphs in modeling problems
3. Implement sorting and searching algorithms using graph based data structures
4. Analyze an algorithm to measure its time complexity
5. Analyze an algorithm to measure its space complexity
6. Design algorithms with efficiency in mind