data structures amp algorithms part 1