Java implementations of most common algorithms