Various algorithms in Java. Mostly for educational purposes