Algorithms from Sedgewick's Algorithms 4th Edition implemented in object-oriented JavaScript using the module pattern