Project |
Language
| Description |
Drum Scheduling |
Java |
An O(n*log(n)) implementation of an optimal drum scheduling algorithm from a 1972 paper. |
Repeated A* |
Java |
An A* implementation for an agent with limited visibility in a 2D world. |
Eight Puzzle |
Python |
An eight puzzle (n x m puzzle) solver that uses iterative deepening depth first search to find the optimal solution if one exists. |
Knapsack |
Python |
Three different algorithms to solve the 0-1 knapsack problem and one greedy algorithm to solve the continuous knapsack problem. |
Prefix Sums |
C++ |
A parallel algorithm that uses MPI to calculate prefix sums using MPI_Send and MPI_Recv calls instead of MPI_Scan which already implements this functionality. |
Find Max |
C++ |
A parallel algorithm that uses MPI to calculate the maximum of a set of numbers using MPI_Send and MPI_Recv calls instead of MPI_Reduce which already implements this functionality. |
Missionaries and Cannibals |
Lisp |
A solver for a generalized version of the missionaries and cannibals problem. |