- A WeightedQuickUnionUF application to estimate the value of the percolation threshold via Monte Carlo simulation.
- Implementation of a generic data type for a deque and a randomized queue using arrays and linked lists.
- A pattern recognition program. Given a set of n distinct points in the plane, find every (maximal) line segment that connects a subset of 4 or more of the points.
- Solve the 8-puzzle problem (and its natural generalizations) using the A* search algorithm.
- A data type represents a set of points in the unit square (all points have x- and y-coordinates between 0 and 1) using a 2d-tree to support efficient range search (find all of the points contained in a query rectangle) and nearest-neighbor search (find a closest point to a query point).
-
Build the WordNet digraph that groups words into sets of synonyms called synsets and also represent a hyponym (more specific synset) to a hypernym (more general synset) relationships between synsets.
-
Outcast detection. Given a list of WordNet nouns, output the noun is the least related to the others.
- image resizing technique preserves the most interest features (aspect ratio, set of objects present, etc.) of the image.
- Use Ford-Fulkerson Max Flow to determine which teams have been mathematically eliminated from winning their division, given the standings in a sports division at some point during the season.
- Use ternary search trie (TST) and recursion to solve the Boggle game.
- Implement the Burrows–Wheeler data compression algorithm.
Set up CLASSPATH
on shell profile.
export CLASSPATH=$CLASSPATH:~/algs4/algs4.jar
or specify cp
when compile and run the program/
javac -cp ".:./algs4.jar" HelloWorld.java
java -cp ".:./algs4.jar" HelloWorld
https://www.coursera.org/learn/algorithms-part1/resources/R2mre
source code algs4 can be found at https://github.com/kevin-wayne/algs4.
More setup instruction can be found on Algorithms, 4th Edition booksite.