data structures and algorithms implemented in Go