Group members: Arqum Ahmed and Yesh Patel
Objective: Greedy versus Exhaustive Algorithm
Implement and compare two algorithms that solve the same problem. For this problem, you will design two separate algorithms, describe the algorithms using clear pseudocode, analyze them mathematically, implement your algorithms in C++, measure their performance in running time, compare your experimental results with the efficiency class of your algorithms, and draw conclusions. The first is a greedy algorithm with a fast (i.e. polynomial) running time, while the second is an exhaustive search algorithm with a slow (i.e. exponential) running time.
- ride.csv contains over 8,000 ride items.
- maxtime.hh is a C++ header that defines skeleton functions for the two algorithms. In addition, there is a skeleton function filter_ride_vector that filters down a large vector of ride items into a smaller and more manageable set suitable for the exhaustive search algorithm. You are responsible for implementing these three functions (filter_ride_vector and the two algorithms).