Write a recursive version of this code. one in which n is divided by two. public static > void MergeSorting(T[] arr) { T[] tep = (T[]) new Comparable[arr.length]; MergeSorting(arr, tep, 0, arr.length - 1); } //Recursive helper method for the merge sort algorithm. //arr The array to sort //tep Temporary array for merge operation //start Index of the left end of the region to sort //end Index of the right end of the region to sort. private static > void mergeSort(T[] arr, T[] tep, int start, int end) { if (start >= end) { return; } int middle = (left + right) / 2; MergeSorting(arr, tep, start, middle); // first half MergeSorting(arr, tep, middle + 1, end); //second half Merge(arr, tep, start, middle, end); } private static > void Merge(T[] arr, T[] tep, int start, int middle, int end) { for (int i = start; i <= end; i++) { tep[i] = arr[i];//adds the arry to tep } int a = 0; int b = middle + 1; for (int current = start; current <= end; current++) { if (a == middle + 1) { arr[current] = tep[b++]; } else if (b > end) { arr[current] = tep[a++]; } else if (tep[a].compareTo(tep[b]) <= 0) { arr[current] = tep[a++]; } else { arr[current] = tep[b++]; } } } }

Computer Networking: A Top-Down Approach (7th Edition)
7th Edition
ISBN:9780133594140
Author:James Kurose, Keith Ross
Publisher:James Kurose, Keith Ross
Chapter1: Computer Networks And The Internet
Section: Chapter Questions
Problem R1RQ: What is the difference between a host and an end system? List several different types of end...
icon
Related questions
Question
100%

Write a recursive version of this code. one in which n is divided by two.

 public static <T extends Comparable<T>> void MergeSorting(T[] arr) {

T[] tep = (T[]) new Comparable[arr.length];

MergeSorting(arr, tep, 0, arr.length - 1);
}
//Recursive helper method for the merge sort algorithm.
//arr The array to sort
//tep Temporary array for merge operation
//start Index of the left end of the region to sort

//end Index of the right end of the region to sort.


private static <T extends Comparable<T>> void mergeSort(T[] arr, T[] tep, int start,
int end) {
if (start >= end) {
return;
}

int middle = (left + right) / 2;

MergeSorting(arr, tep, start, middle); // first half
MergeSorting(arr, tep, middle + 1, end); //second half

Merge(arr, tep, start, middle, end);

}

private static <T extends Comparable<T>> void Merge(T[] arr, T[] tep, int start, int middle,
int end) {

for (int i = start; i <= end; i++) {
tep[i] = arr[i];//adds the arry to tep
}

int a = 0;
int b = middle + 1;
for (int current = start; current <= end; current++) {
if (a == middle + 1) { 
arr[current] = tep[b++];
} else if (b > end) { 
arr[current] = tep[a++];
} else if (tep[a].compareTo(tep[b]) <= 0) {
arr[current] = tep[a++];
} else {
arr[current] = tep[b++];
}
}
}
}

Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 3 steps with 7 images

Blurred answer
Recommended textbooks for you
Computer Networking: A Top-Down Approach (7th Edi…
Computer Networking: A Top-Down Approach (7th Edi…
Computer Engineering
ISBN:
9780133594140
Author:
James Kurose, Keith Ross
Publisher:
PEARSON
Computer Organization and Design MIPS Edition, Fi…
Computer Organization and Design MIPS Edition, Fi…
Computer Engineering
ISBN:
9780124077263
Author:
David A. Patterson, John L. Hennessy
Publisher:
Elsevier Science
Network+ Guide to Networks (MindTap Course List)
Network+ Guide to Networks (MindTap Course List)
Computer Engineering
ISBN:
9781337569330
Author:
Jill West, Tamara Dean, Jean Andrews
Publisher:
Cengage Learning
Concepts of Database Management
Concepts of Database Management
Computer Engineering
ISBN:
9781337093422
Author:
Joy L. Starks, Philip J. Pratt, Mary Z. Last
Publisher:
Cengage Learning
Prelude to Programming
Prelude to Programming
Computer Engineering
ISBN:
9780133750423
Author:
VENIT, Stewart
Publisher:
Pearson Education
Sc Business Data Communications and Networking, T…
Sc Business Data Communications and Networking, T…
Computer Engineering
ISBN:
9781119368830
Author:
FITZGERALD
Publisher:
WILEY