Algorithm and Data Structure in Go