Each workshop is ~45 minutes over lunch on Wednesdays. There will be a repo with sample code and additional resources so you can continue learning outside the workshop if you want to.
- Why study data structures & algorithms? How do they apply to web development? (5 min)
- Big O notation (20 min)
- Strings and arrays (20 min)
- Linked lists (single, double, circular) (15 min)
- Stacks (15 min)
- Queues (15 min)
- Binary search (5 min)
- Mergesort (20 min)
- Quicksort (20 min)
- Trees, binary trees, and b-trees (10 min)
- Binary search trees (15 min)
- Red/black trees (20 min)
- A quick digression on recursion (15 min)
- Depth-first (10 min)
- Pre-order, in-order, and post-order (10 min)
- Breadth-first (10 min)
- What is a graph and what is it for? (5 min)
- Graph types (directed vs. undirected, cyclic vs. acyclic) (10 min)
- Adjacency matrices (15 min)
- Adjacency lists (15 min)
- Depth-first search (15 min)
- Breadth-first earch (15 min)
- Dijkstra's algorithm (15 min)
- You already know this! (JS objects are hash tables) (5 min)
- Separate chaining (20 min)
- Open addressing (20 min)
- Tries (10 min)
- (Fibonacci) heaps (10 min)
- Bloom filters (15 min)
- More resources (10 min)
- Dynamic programming (20 min)
- Heuristics for NP-complete problems (20 min)
- More resources (5 min)
+1