part 2 graphs and algorithms 3182540