# Python算法分析代写 | EECS 325 Analysis of Algorithms Homework 2

本次美国代写是Python算法分析的一个Homework

• You must submit your written solutions as a single .pdf file on Canvas with your name at

the top. Typesetting your written solutions using L ATEX is strongly encouraged. You must

submit your programming solutions to Question 6 as a single .cpp, .java, or .py file depending

on your choice of language.

• You are welcome and encouraged to discuss the problems in groups of up to three people, but

you must write up and submit your own solutions and code. You must also write the

names of everyone in your group on the top of your submission.

• The primary resources for this class are the lectures, lecture slides, the CLRS and Erickson

algorithms textbooks, the teaching staff, your (up to two) collaborators, and the class Piazza

forum. We strongly encourage you only to use these resources. If you do use another resource,

make sure to cite it and explain why you needed it.

• Scoring: The total score is 50 points, with the possibility of up to 5 extra credit points.

• You must justify all of your answers unless specifically stated otherwise.

**Question 1** (Counting inversions, 9 points.) CLRS Problem 2-4.

**Question 2** (Recurrences, 9 points.) CLRS Problem 4-1. Draw recursion trees for parts (a) and

(b). You may use any method that you wish for solving the remaining parts, but you must justify

your answers.

(Hint: CLRS Appendix A.1 contains a helpful formula for solving part (g).)

**Question 3** (Closest pair in Manhattan distance, 5 points.) CLRS Exercise 33.4-3.

(Hint: Modify the algorithm that we saw in class. Your main change should be to modify the number of

points below the current point looked at in the \combine” phase. Make sure to justify your answer. What

is the shape of the set of point within Manhattan distance ff of a given point?)

**Question 4** (Graph coloring and register allocation, 9 points.) In the graph coloring problem, the

input is a simple graph G = (V;E), represented by an adjacency list, and the goal is to find a

labeling of the vertices c : V – {1,….,k} for some k >= 1 such that c(u) = c(v) if fu; vg 2 E. Such