Download PDF
Linked lists
Insertion sort on linked lists
Binary search trees and sets
Heaps and heapsort
Finding any path between nodes using stacks and depth-first search
Finding the shortest path between nodes using queues and breadth-first-search
Finding the shortest path on weigthed graphs using Dijkstra and priority queues
Using heuristics for greedy search and A* search
The travelling salesman problem
Constraint Satisfaction Problem (CSP) and Sudoku
Memoisation using search trees for associative arrays
Using hash tables to create associative arrays
Dynamic programming and the Bellman equations
Functions and recursion
The Church-Turing thesis
Imperative and functional programming
Lisp
Please select a chapter from the left.
This is a live document, and is full of gaps, mistakes, typos etc.