Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Here is the skeleton code import java.util.*; public class sort { public static int[] insertion_sort (int[] array) { /* * fill in your program */

image text in transcribed

Here is the skeleton code

import java.util.*;

public class sort {

public static int[] insertion_sort (int[] array) {

/* * fill in your program */

return array;

}

public static int[] merge_sort (int[] array, int p, int r) {

/* * fill in your program */

return array;

}

public static int[] merge (int[] array, int p, int q, int r)

{

/* * fill in your program */

return array;}

/*

* n: the size of the output array

* k: the maximum value in the array

*/

public static int[] generate_random_array (int n, int k) {

List list;

int[] array;

Random rnd;

rnd = new Random(System.currentTimeMillis());

list = new ArrayList ();

for (int i = 1; i

list.add(new Integer(rnd.nextInt(k+1)));

Collections.shuffle(list, rnd);

array = new int[n];

for (int i = 0; i

array[i] = list.get(i).intValue();

return array;

}

/*

* * n: the size of the output array

*/

public static int[] generate_random_array (int n) {

List list;

int[] array;

list = new ArrayList ();

for (int i = 1; i

list.add(new Integer(i));

Collections.shuffle(list, new

Random(System.currentTimeMillis()));

array = new int[n];

for (int i = 0; i

array[i] = list.get(i).intValue();

return array;}

/*

* Input: an integer array

* Output: true if the array is acsendingly sorted, otherwise return false

*/

public static boolean check_sorted (int[] array) {

for (int i = 1; i

if (array[i-1] > array[i])

return false;

}

return true;

}

public static void print_array (int[] array) {

for (int i = 0; i

System.out.print(array[i] + ", ");

System.out.println();

}

public static void main(String[] args) {

// TODO Auto-generated method stub

System.out.println("Insertion sort starts ------------------");

for (int n = 100000; n

int[] array = Sort.generate_random_array(n);

long t1 = System.currentTimeMillis();

array = Sort.insertion_sort(array);

long t2 = System.currentTimeMillis();

long t = t2 - t1;

boolean flag = Sort.check_sorted(array);

System.out.println(n + "," + t + "," + flag);

}

System.out.println("Insertion sort ends ------------------");

}

{

System.out.println("Merge sort starts ------------------");

for (int n = 100000; n

int[] array = Sort.generate_random_array(n);

//Sort.print_array(array);

long t1 = System.currentTimeMillis();

array = Sort.merge_sort(array, 0, n-1);

long t2 = System.currentTimeMillis();

long t = t2 - t1;//Sort.print_array(array);

boolean flag = Sort.check_sorted(array);

System.out.println(n + "," + t + "," + flag);

}

System.out.println("Merge sort ends ------------------");

}

}

1 Problem Description Instructions. You are provided the skeleton code named Sort.java. The source file is available on Canvas in a folder named HW1. Please modify the skeleton code to solve the following tasks . Task 1 (40 pts). Implement the Insertion Sort algorithm as discussed in Lecture 1. (Hint: use the function checked sorted to check if your output is indeed sorted.) . Task 2 (10 pts). Implement the Merge Sort algorithm as discussed in Lecture 2. (Hint: use the function checked sorted to check if your output is indeed sorted.) . Task 3 (20 pts). Generate a report to discuss the time performance of the two algorithms. Compare it with their theoretical time complexity as discussed in the lecture. Plots and figures are encouraged to help draw the conclusion. See Figure 1 for an example of the plot. 60 Selection Sort 50 -Insertion Sort (avg Merge Sort 40 30 20 10 0 1,000 2000 3,000 4000 5,000 6,000 7,000 8,000 9,000 10,000 Problem Size (number of items to be sorted) Figure 1: An example of the time performance comparison plot

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Seven Databases In Seven Weeks A Guide To Modern Databases And The NoSQL Movement

Authors: Eric Redmond ,Jim Wilson

1st Edition

1934356921, 978-1934356920

More Books

Students also viewed these Databases questions

Question

Describe the types of power that effective leaders employ

Answered: 1 week ago

Question

Describe how leadership styles should be adapted to the situation

Answered: 1 week ago