In this repository you will find a series of exercises intended for quickly developing or refreshing CS skills in programmers. There are two repositories of interest.
The former contains problem descriptions and discussions (.md files), along with reference solutions written in the language Go (.go files). The latter contains data structures used by some of the exercises. You should write your data structures and solutions in whatever language you like, then compare to the reference implementations.
The following order may prove particularly instructive.
- Data Structures 01: Lists
- Data Structures 02: Queues and Stacks
- Techniques 01: Recursion and Iteration
- Techniques 02: Backtracking
- Data Structures 03: Binary Trees
- Algorithms 01: Searching
Exercises and solutions that are pending include, but are in no way limited to the following.
- Algorithms 02: Bubble Sort
- Algorithms 03: Mergesort
- Algorithms 04: Quicksort
- Data Structures 04: Heaps
- Algorithms 05: Heapsort
- Data Structures 05: Red-Black Trees
- Data Structures 06: Hash Maps
- Techniques 03: Memoization
- Algorithms 06: Depth-First Search
- Data Structures 07: Graphs
- Algorithms 07: Shortest Paths
- Techniques 04: Dynamic Optimization
This text and code is distributed under the Creative Commons license CC BY-NC-SA (http://creativecommons.org/licenses/by-nc-sa/3.0/).