CS43A - Algorithms & Analysis
CS42A - Data Structures
Design of efficient data structures and algorithms. Analysis of
algorithms and asymptotic time complexity. Graph, string,
and geometric algorithms.
- Select or develop appropriate algorithms for manipulating the
- Use an object oriented programming language to implement the data
structures and algorithms
- Determine the time and space efficiency of these data structures
and associated algorithms
- Define complexity measures and identify complexity measures with actual
- Analyse algorithms to establish their complexity classes.
- Establish the correctness of algorithms
- Demonstrate an understanding of advanced data structures
- Demonstrate an understand of advanced algorithmic techniques
- Algorithm analysis
- Search trees and skip Lists
- Sorting, sets, and selection
- Text processing
- Computational geometry
Students are required to pass both components.
- Coursework - 40%
- Test - 10%
- Assignments - 30%
- Final exam - 60%
- Michael Goodrich and Roberto Tamassia, Algorithm Design Foundations,
Analysis, and Internet Examples \
Daniel Coore, Ph:D. (MIT), Lecturer, Department
of Mathematics and Computer Science, University of the West Indies, Mona.