You are given a list of randomly arranged numbers, for example (11,7,18,5,17,13). The triple (11,7, 5) is called the "inversion triple" because (5<7<11) in terms of value, while the index of 5 in the list is greater than the index of 7, and the index of 7 is greater than 11. Therefore, we can find 2 inversions in such list as follows: (11,7,5), and (18,17,13). Your main task is to find the total number of inversions in any given list.  a) Design a brute-force algorithm to return the number of possible inversions, and  analyse the complexity of your solution b) Develop a python code to implement your brute-force algorithm.  [The  marks depend on the correctness of the code, indentation, comments, test-case]  c) Design a more efficient algorithm to do the same task with less complexity, and  analyse the complexity of your solution.  [Important instruction to be followed: Create an arbitrary unsorted list of 8 characters and use it to provide full explanation of how your proposed algorithm should work  step by step]

C++ Programming: From Problem Analysis to Program Design
8th Edition
ISBN:9781337102087
Author:D. S. Malik
Publisher:D. S. Malik
Chapter8: Arrays And Strings
Section: Chapter Questions
Problem 24PE
icon
Related questions
Question

You are given a list of randomly arranged numbers, for example (11,7,18,5,17,13). The triple (11,7, 5) is called the "inversion triple" because (5<7<11) in terms of value, while the index of 5 in the list is greater than the index of 7, and the index of 7 is greater than 11. Therefore, we can find 2 inversions in such list as follows: (11,7,5), and (18,17,13). Your main task is to find the total number of inversions in any given list. 

a) Design a brute-force algorithm to return the number of possible inversions, and 
analyse the complexity of your solution

b) Develop a python code to implement your brute-force algorithm.  [The 
marks depend on the correctness of the code, indentation, comments, test-case] 

c) Design a more efficient algorithm to do the same task with less complexity, and 
analyse the complexity of your solution.  [Important instruction to be followed: Create an arbitrary unsorted list of 8 characters and use it to provide full explanation of how your proposed algorithm should work 
step by step]

 d) Prepare a brief report (250 words) comparing the two algorithms

 

Expert Solution
steps

Step by step

Solved in 2 steps with 3 images

Blurred answer
Follow-up Questions
Read through expert solutions to related follow-up questions below.
Follow-up Question

 d) Prepare a brief report (250 words) comparing the two algorithms

 

Solution
Bartleby Expert
SEE SOLUTION
Knowledge Booster
Polynomial time
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
C++ Programming: From Problem Analysis to Program…
C++ Programming: From Problem Analysis to Program…
Computer Science
ISBN:
9781337102087
Author:
D. S. Malik
Publisher:
Cengage Learning