Various algorithms and utilities from Robert Sedgewick's course ported to C#