Algorithms and Data Structures in Golang