The problem can also be approached in a greedy way, based on the intuition that a camera in a location with more neighbours will cover more locations and thus minimise the number of cameras needed. Here's the sketch of a greedy algorithm: Let city locations be the sequence of all nodes in the city graph, ordered by descending degree. Let cameras be the empty set. Iterate over city locations: for each node, if it's within 25 metres of a node in cameras, skip it (because it's covered by a camera), otherwise add it to cameras. Find a counter-example for the graph you created in part(b) to show that this greedy algorithm is not correct. Explain how you arrived at your counter-example. Give the output produced by the greedy algorithm, explaining why it's that output, and give the expected correct output.
The problem can also be approached in a greedy way, based on the intuition that a camera in a location with more neighbours will cover more locations and thus minimise the number of cameras needed.
Here's the sketch of a greedy
Let city locations be the sequence of all nodes in the city graph, ordered by descending degree.
Let cameras be the empty set.
Iterate over city locations: for each node, if it's within 25 metres of a node in cameras, skip it (because it's covered by a camera), otherwise add it to cameras.
Find a counter-example for the graph you created in part(b) to show that this greedy algorithm is not correct. Explain how you arrived at your counter-example. Give the output produced by the greedy algorithm, explaining why it's that output, and give the expected correct output.
Step by step
Solved in 2 steps