a) Convert the following merge sort code so that it sorts from greatest to least instead of least to gi this is a very small change. b) Explain why the change you made causes the search to switch from the original sort ordering(le greatest) to the new one (greatest to least). * Merge sort takes in an array and returns the same array, sorted. */ public void mergeSort(int[] arr) { int[] temp = new int[arr.length]; mergeSortHelper(arr, 0, arr.length - 1, temp); } private void mergeSortHelper(int[] arr, int from, int to, int[] temp) { // If the array length is greater than 1 if(to - from >= 1) { int mid = (from + to) / 2; mergeSortHelper(arr, from, mid, temp); mergeSortHelper(arr, mid + 1, to, temp); merge(arr, from, mid, to, temp); System.out.printlIn(Arrays.toString(arr)); } } private void merge(int[] arr, int from, int mid, int to, int[] temp) { int i = from; int j = mid + 1; I/ track right array position int k = from; while(i <= mid &&j <= to) { // If the element in the left subarray is less // than the element in the right subarray it // is next in the merged list if(arr[i) < arrlj]) { temp[k] = arr[i]; i++; } else { // track left array position / track temp position
a) Convert the following merge sort code so that it sorts from greatest to least instead of least to gi this is a very small change. b) Explain why the change you made causes the search to switch from the original sort ordering(le greatest) to the new one (greatest to least). * Merge sort takes in an array and returns the same array, sorted. */ public void mergeSort(int[] arr) { int[] temp = new int[arr.length]; mergeSortHelper(arr, 0, arr.length - 1, temp); } private void mergeSortHelper(int[] arr, int from, int to, int[] temp) { // If the array length is greater than 1 if(to - from >= 1) { int mid = (from + to) / 2; mergeSortHelper(arr, from, mid, temp); mergeSortHelper(arr, mid + 1, to, temp); merge(arr, from, mid, to, temp); System.out.printlIn(Arrays.toString(arr)); } } private void merge(int[] arr, int from, int mid, int to, int[] temp) { int i = from; int j = mid + 1; I/ track right array position int k = from; while(i <= mid &&j <= to) { // If the element in the left subarray is less // than the element in the right subarray it // is next in the merged list if(arr[i) < arrlj]) { temp[k] = arr[i]; i++; } else { // track left array position / track temp position
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...
Related questions
Question
q15
![temp[k] = arr[j];
j++;
k++;
}
// We may have missed elements from either list
while(i <= mid) {
temp[k] = arr[i];
i++;
k++;
}
while(j <= to) {
temp[k] = arr[j];
j++;
k++;
}
I/ Copy over from temp to elements
for(k = from; k <= to; k++) {
arr[k] = temp[k];|
}
}](/v2/_next/image?url=https%3A%2F%2Fcontent.bartleby.com%2Fqna-images%2Fquestion%2F5032dbc6-271d-4e3d-8f49-e571a102c95d%2Faa79051a-4a97-4a1c-adee-8124f68bc3e2%2F5brk5bq_processed.png&w=3840&q=75)
Transcribed Image Text:temp[k] = arr[j];
j++;
k++;
}
// We may have missed elements from either list
while(i <= mid) {
temp[k] = arr[i];
i++;
k++;
}
while(j <= to) {
temp[k] = arr[j];
j++;
k++;
}
I/ Copy over from temp to elements
for(k = from; k <= to; k++) {
arr[k] = temp[k];|
}
}
![a) Convert the following merge sort code so that it sorts from greatest to least instead of least to gr
this is a very small change.
b) Explain why the change you made causes the search to switch from the original sort ordering(le
greatest) to the new one (greatest to least).
/*
* Merge sort takes in an array and returns the same array, sorted.
*/
public void mergeSort(int[] arr) {
int] temp = new int[arr.length];
mergeSortHelper(arr, 0, arr.length - 1, temp);
}
private void mergeSortHelper(int[] arr, int from, int to, int temp) {
// If the array length is greater than 1
if(to - from >= 1) {
int mid = (from + to) / 2;
mergeSortHelper(arr, from, mid, temp);
mergeSortHelper(arr, mid + 1, to, temp);
merge(arr, from, mid, to, temp);
System.out.println(Arrays.toString(arr);
}
}
private void merge(int[] arr, int from, int mid, int to, int[] temp) {
int i = from;
int j = mid + 1; I/ track right array position
int k = from;
while(i <= mid &&j <= to) {
// If the element in the left subarray is less
Il than the element in the right subarray it
Il is next in the merged list
if(arr[i] < arrfi]) {
temp[k] = arr[i];
i++;
}
else {
Il track left array position
// track temp position](/v2/_next/image?url=https%3A%2F%2Fcontent.bartleby.com%2Fqna-images%2Fquestion%2F5032dbc6-271d-4e3d-8f49-e571a102c95d%2Faa79051a-4a97-4a1c-adee-8124f68bc3e2%2F3ccauc4r_processed.png&w=3840&q=75)
Transcribed Image Text:a) Convert the following merge sort code so that it sorts from greatest to least instead of least to gr
this is a very small change.
b) Explain why the change you made causes the search to switch from the original sort ordering(le
greatest) to the new one (greatest to least).
/*
* Merge sort takes in an array and returns the same array, sorted.
*/
public void mergeSort(int[] arr) {
int] temp = new int[arr.length];
mergeSortHelper(arr, 0, arr.length - 1, temp);
}
private void mergeSortHelper(int[] arr, int from, int to, int temp) {
// If the array length is greater than 1
if(to - from >= 1) {
int mid = (from + to) / 2;
mergeSortHelper(arr, from, mid, temp);
mergeSortHelper(arr, mid + 1, to, temp);
merge(arr, from, mid, to, temp);
System.out.println(Arrays.toString(arr);
}
}
private void merge(int[] arr, int from, int mid, int to, int[] temp) {
int i = from;
int j = mid + 1; I/ track right array position
int k = from;
while(i <= mid &&j <= to) {
// If the element in the left subarray is less
Il than the element in the right subarray it
Il is next in the merged list
if(arr[i] < arrfi]) {
temp[k] = arr[i];
i++;
}
else {
Il track left array position
// track temp position
Expert Solution

This question has been solved!
Explore an expertly crafted, step-by-step solution for a thorough understanding of key concepts.
Step by step
Solved in 2 steps

Recommended textbooks for you

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 Engineering
ISBN:
9780124077263
Author:
David A. Patterson, John L. Hennessy
Publisher:
Elsevier Science

Network+ Guide to Networks (MindTap Course List)
Computer Engineering
ISBN:
9781337569330
Author:
Jill West, Tamara Dean, Jean Andrews
Publisher:
Cengage Learning

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 Engineering
ISBN:
9780124077263
Author:
David A. Patterson, John L. Hennessy
Publisher:
Elsevier Science

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
Computer Engineering
ISBN:
9781337093422
Author:
Joy L. Starks, Philip J. Pratt, Mary Z. Last
Publisher:
Cengage Learning

Prelude to Programming
Computer Engineering
ISBN:
9780133750423
Author:
VENIT, Stewart
Publisher:
Pearson Education

Sc Business Data Communications and Networking, T…
Computer Engineering
ISBN:
9781119368830
Author:
FITZGERALD
Publisher:
WILEY