2. Using Python, implement the Divide-and-Conquer algorithm to count the number of inversions between two arrays. The algorithm is based on Mergesort and counts the inversions while merging the sorted lists.
In the merge function, if i is used to index left sub-array and j for right sub-array, at any step in merge(), if a[i] is greater than a[j], then there are (mid – i) inversions. This is because left and right sub-arrays are sorted, so all the remaining elements in left-sub-array will be greater than a[j]




Note:
Due to the unavailability of a desktop at the moment I had to write this code by hand, and not type it. However, this is a 100% working solution of inversion count written in python3 and I'm sure this will help you out. Thanks !
2. Using Python, implement the Divide-and-Conquer algorithm to count the number of inversions between two arrays....
Q. Give a divide- and- conquer algorithm that computes the number of inversions in array A in O(n log n) time. Show that your algorithm takes O(n log n).
We are given a sequence ofndistinct numbers a1,...,an. We define an inversion to be a pair i<j such that ai>aj. Give an O(nlogn) algorithm to count the number of inversions. (Hint: assume that your algorithmreturns a sorted array of input sequences, as well as the number of inversions. Divide the input sequencesinto two halves, then count inversions and sort each half by doing recursive calls, and find a way to mergethese two sorted halves and to count the number of...
Q1) Using Divide and conquer approach, solve the kth element in 2 sorted arrays problem. Given two sorted arrays both of size n find the element in k’th position of the combined sorted array. 1. Mention the steps of Divide, Conquer and Combine (refer to L5- Divide and Conquer Lecture notes, slide 3, to see an example on merge sort) 2. Draw the recursive tree. 3. What is the recurrence equation? 4. Guess a solution based on the recursive tree...
In the text box below, write down a divide and conquer algorithm for counting the number of entries in a sorted array of ints that are smaller than a given value. In other words, the function takes as input an array A and an int value and returns the number of ints in A that are less than value. To get any credit, your solution must use the divide and conquer technique. To get full credit, your solution should run in time in the...
In this assignment you will implement merge-sort algorithm by creating 2 threads instead of 2 processes. First half of the array will be sorted by thread 1 and the second half by thread 2. When the threads complete their tasks, the main program will merge the half arrays. You should not waste your time on merge-sort algorithm. Use the merge sort algorithm given below void mergesort(int a[],int i,int j) { int mid; if(i<j) { mid=(i+j)/2; mergesort(a,i,mid); //left recursion mergesort(a,mid+1,j); //right...
Using divide and conquer algorithm approach on a binary tree, show how the following list of elements in an array can be sorted in ascending order: 38, 27,43,3,9,82,10
(a) Implement Counting Inversions algorithm in C++. Provide the complete program here which returns the count and the array. (b) Test your code using this input: a = [2, 6, 1, 5, 4, 3] where array a is the list of your ranking for the given 6 songs.
Design a divide-and-conquer algorithm for computing the number of levels in a binary tree. In particular, the algorithm should return 0 and 1 for the empty and single-node trees respectively. Please provide the pseudocode for your algorithm. What is the running time of your algorithm in the worst case using O() notation? Design a divide-and-conquer algorithm for computing the number of levels in a COMPLETE binary tree. In particular, the algorithm should return 0 and 1 for the empty and...
Implement the median algorithm "median of medians". Implement MergeSort. Run tests over arrays of 10n random integers chosen between [1..10n+1] for n = 1, 2, . . . and find for what value of n the median algorithm runs faster than MergeSort. YOU DONT HAVE TO WRITE ANY CODE. just answer what n is.
in Java Implement merging two sorted arrays into one sorted array. These arrays are sorted in descending order. For example [5, 4, 2]. Return an array with all the elements of these two arrays sorted, also in descending order. partb: if the two arrays as input are size n each. What is the big-O run time and space complexity of your implementation public int[] merge(int[] arr1, int[] arr2){