Coursera - Algorithms, Part I by Princeton University (Assignment Solutions)

Percolation

Finds the percolation threshold via Monte Carlo simulation. The percolation threshold is the probability needed for a cell to be open to almost guarantee that a system percolates. A system percolates if there is a connection between the top and bottom of the system.

http://coursera.cs.princeton.edu/algs4/assignments/percolation.html

Deque and Randomized Queues

Implementation of a generic double-ended queue and randomized queue (also knowns as a bag)

http://coursera.cs.princeton.edu/algs4/assignments/queues.html

Pattern Recognition

Given a set of n points, outputs all distinct maximal line segments containing at least four collinear points, taking advantage of merge sort's stableness to efficiently find maximal line segments and ignore subsegments (algorithm runs in O(nlogn) time).

http://coursera.cs.princeton.edu/algs4/assignments/collinear.html

8 Puzzle

Provides a solution to the classic 8-Puzzle problem using a priority queue and the Manhattan distance of all squares from their final position as a heuristic.

http://coursera.cs.princeton.edu/algs4/assignments/8puzzle.html

Kd-Trees

Performs an efficient range search (find all points contained in a query rectangle) and nearest neighbour search (find closest point to a query point) using a 2d-tree.

http://coursera.cs.princeton.edu/algs4/assignments/kdtree.html