Java implementation of the following algorithms: Stable Matching, Closest Pair, Horspool, Knapsack. Included: correctness and complexity analysis