Question: 2. Problem You have been asked to find the number of inversions in an array. An inversion is when a larger number appears before a

 2. Problem You have been asked to find the number of

inversions in an array. An inversion is when a larger number appears

before a smaller number. In the follow example, there are 3 inversions

2. Problem You have been asked to find the number of inversions in an array. An inversion is when a larger number appears before a smaller number. In the follow example, there are 3 inversions 1. 3 before2 2. 3 before 1 3. 2 before 1 You need to write two different algorithms to solve this problem. One is "slow". It is the nave approach using nested loops. The "fast" approach uses a modified mergesort that counts the number of inversions and returns that count. Your program will always run the fast algorithm unless the user specifies "slow" as the (only) command-line argument. Here are some examples of how the program should run $. ./inversioncounter Enter sequence of integers, each followed by a space: x 1 2 3 Error: Non-integer value x' received at index 0 $. ./inversioncounter Enter sequence of integers, each followed by a space: Error: Sequence of integers not received $ ./inversioncounter slow Enter sequence of integers, each followed by a space: 1 11 1 Number of inversions: 0 $ ./inversioncounter Enter sequence of integers, each followed by a space: 3 101 2.9 Number of inversions: 5 3. Advice We store the input in a vector, since we don't know how many values the user will enter. You can easily pass the internal array of the vector to the function with &values [0] Make sure you test your program on large inputs. Test cases 17-20 and 33-36 have 100,000 numbers. You are allowed up to 8 seconds on linux lab for the "slow" version and 1.25 seconds for the "fast" version. You should have no trouble meeting these timing requirements

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!