Question

void insertion_sort(element a[], int n) // Put a[0]..a[n-1] into ascending order by insertion sort. { for...

void insertion_sort(element a[], int n)

// Put a[0]..a[n-1] into ascending order by insertion sort.

{

for (int k = 1; k < n; k++)

{

// At this point, a[0]..a[k-1] are already in order.

// Insert a[k] where it belongs among a[0]..a[k].

You need to write code for this insertion as the body of the for-k loop.

}

//endfor k

}

a) Write the code for the body of the for-k loop to complete the insertion sort routine.

b) Count the precise best case and worst case number of “element comparisons” in your insertion sort routine. Your answers should be functions of n in closed form. Note that “closed form” means that you must resolve all sigmas and …’s. Asymptotic answers (such as ones that use big-oh, big-theta, etc.) are not acceptable

Homework Answers

Answer #1

//code for insertion sort

for(int k=1;k<n;k++)

{

int element=a[k];

int i=k-1;

while(i>=0&&a[i]>element)

{

a[i+1]=a[i];

i=i-1;

}

a[i+1]=element;

}

and for complexity

// hope it will help you.

Know the answer?
Your Answer:

Post as a guest

Your Name:

What's your source?

Earn Coins

Coins can be redeemed for fabulous gifts.

Not the answer you're looking for?
Ask your own homework help question
Similar Questions
Write a code in c++ using linear insertion following the steps below. Comment your work. 1....
Write a code in c++ using linear insertion following the steps below. Comment your work. 1.    Ask the user for the name of a file containing data. If it does not exist, the program should display an error, then ask for a new file name. Entering an asterisk (*) as the first and only character on a line should terminate the program. 2.     You can use a statically-allocated one-dimensional array of doubles for this with length 100. You...
Do a theta analysis and count the number of computations it performed in each function/method of...
Do a theta analysis and count the number of computations it performed in each function/method of the following code: import java.io.*; import java.util.Scanner; class sort { int a[]; int n; long endTime ; long totalTime; long startTime; static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); public sort(int nn) // Constructor { a = new int[nn]; n = nn; endTime= 0; totalTime =0; startTime =0; } public static void main(String args[]) throws IOException { System.out.print("\nEnter number of students: "); int nn =...
There are N blocks, numbered from 0 to N-1, arranged in a row. A couple of...
There are N blocks, numbered from 0 to N-1, arranged in a row. A couple of frogs were sitting together on one block when they had a terrible quarrel. Now they want to jump away from one another so that the distance between them will be as large as possible. The distance between blocks numbered J and K, where JK, is computed as K-J+1. The frogs can only jump up, meaning that they can move from one block to another...