data structures & algorithms in go