Learning objectives
After this class, you should be able to:
- Explain the ideal cache model.
- Derive the cache complexity of the two simple matrix multiplication algorithms discussed inclass, and of the cache aware and cache oblivious algorithms discussed in class.
- Given an algorithm, derive its cache complexity.
- Given an algorithm that is cache-inefficient, modify it to make it more efficient.
Reading assignment
- Handout on cache oblivious algorithms.
- Review quicksort.
Exercises and review questions
- Questions on current lecture's material
- If matrices were stored in column major order, then show two simple algorithms, one which has a cache complexity of theta(n3) and one with cache complexity of theta(n3/L).
- Questions on next lecture's material
- Explain how quicksort would sort the following list, with the first element chosen as the pivot each time: 1, 2, 3, 4, 5, 6, 7, 8.
Last modified: 23 Jul 2004