Answer to Question #168888 in Algorithms for Asif Khudbodin Khalifa

Question #168888

Dynamic Programing - City Planning. A city planner is asked to organize grocery shops in a new city. The city has a straight line main street that goes throughout the city. The city planner is asked to position where should the city provide permits to build new grocery shops so that people of the new city can have the shortest distance to their grocery markets. The population density is not constant along both sides of the main street. A higher density is around multiple city centers or crossroads along side the main street.

Your task is to develop an algorithm, given the positions of the city centers and the number of grocery shops, computes the least possible sum of all distances between each city centers and its nearest grocery shop.

Input to your Algorithm:

  1. List of city centers coordinate positions along the main street (each an integer number
  2. between 1 and 1000). This is a sequence of numbers.
  3. Number of city centers is an integer between 2 and 100.
  4. Number of grocery shops (an integer number between 2 and 30).
  5. The number of shops is smaller than the number of city centers.

Output of your algorithm: A single integer, which is the sum of all distances between each city center and its nearest grocery market.

Sample Input:

5

[1 2 3 6 7 9 11 21 40 50]

Sample Output:

9

Figure 1: A visualization of City Center Positions and Grocery Shops. (Numbers in grocery shop row is the distance to the nearest shop. )

Tasks:

  • Task 2.1. What are the sub-problems in this case? What is the counts of sub-problems? Provide a brief description of your solution.
  • Task 2.2. Write up your algorithm in Pseudocode or python implementation.
  • Task 2.3. What is the run time complexity of your algorithm?




1
Expert's answer
2021-03-05T10:19:20-0500
Dear Asif Khudbodin Khalifa, your question requires a lot of work, which neither of our experts is ready to perform for free. We advise you to convert it to a fully qualified order and we will try to help you. Please click the link below to proceed: Submit order

Need a fast expert's response?

Submit order

and get a quick answer at the best price

for any assignment or question with DETAILED EXPLANATIONS!

Comments

No comments. Be the first!

Leave a comment

LATEST TUTORIALS
APPROVED BY CLIENTS