These notes were compiled during our Computer Science course at the University of Cape Town. It is a general summary of the slides, lectures and any other content that was deemed useful. As such, this repository is not an entire representation of the Theory of Algorithms - but rather useful content from the course.
Before adding to this repository - please check out the Contributing Guidelines 📐 and if you want to help out please check out the Project Board for this repo
These notes were taken & adapted from slides and lectures created by the following people:
Here are summaries of slides 👓
- Introduction
- Algorithm Efficiency
- Brute Force
- Divide & Conquer
- Decrease & Conquer
- Transform & Conquer
- Space Time Trade-off
- Dynamic Programming
The pracs 📁 contains information about the different practicals.
The books used for this course 📚
- Introduction to the Design & Analysis of Algorithms - Anany Levitin
- Algorithms - Sanjoy Dasgupta, Christos Papadimitriou & Umesh Vazirani
- Art of Computer Programming - Donald E. Knuth
- Structure and Interpretation of Computer Programs - Harold Abelson, Gerald Jay Sussman & Julie Sussman
The pdf 📁 has pdf versions of these notes if you would like to print them.
Thanks for helping out with this repo!