Ask Data Structure Expert

Analysis of Algorithms

Consider the following code for doing insertion sort

#include

#include

#include

using namespace std;

int count = 0;

void insertionSort (int a[], int n) { int i, j, copy;

count++; // for the initialization of i in the for loop

for (i = 0; count++, i < n-1; count++, i++)

{

j = i+1; count++; copy = a[j]; count++;

while (j > 0 && copy < a[j-1] )

{

count++;

// for the test to get into the body of the loop

a[j] = a[j-1];

count++; j--;

count++;

}

a[j] = copy;

count++;

}

}

void print(int a[], int n);

{

int i;

cout << "sorted in " << count << "steps: ";

for (i = 0; i < n; i++)

cout << a[i] << ' ';

cout << endl;

}

int main ();
{ int a[] = {34, 3343, 334, 644, 33, 31, 112, 119};

int n = sizeof(a) / sizeof(int);

insertionSort (a,n);

print (a,n);

return 0;

}

For the insertionSort subroutine only, do a full summation analysis similar to the one that is done for selection sort, given in the notes to determine the number of steps the sorting algorithm takes. You should end up with a formula in terms of n.

Now answer the following questions:

Plug the size of the the array into your formula and compute the number of steps the algorithm would be predicted to take. Compare this with the actual count printed by the algorithm.

Are they the same?

If not, why not?

What would be the slowest time the algorithm can run (in terms of n)? What input would cause this slowest time.

What would be the fastest time your algorithm could run (in terms of n)? For what input would this fastest time be achieved?

Data Structure, Computer Science

  • Category:- Data Structure
  • Reference No.:- M91332305
  • Price:- $50

Guranteed 36 Hours Delivery, In Price:- $50

Have any Question?


Related Questions in Data Structure

Data Communication Delivering Information anywhere

Topic: Data Communication Delivering Information anywhere. Write a 9-12 pages paper in which you: Present an overview of the origin and history of the concept. Describe the current use of and attitude toward the concept. ...

Problem regarding the management program

Problem: Looks like its just adding a save and load feature to the same file you sent me for python 3.5 Until now, you have had to leave your team management program running on your computer indefinitely since you did no ...

  • 4,153,160 Questions Asked
  • 13,132 Experts
  • 2,558,936 Questions Answered

Ask Experts for help!!

Looking for Assignment Help?

Start excelling in your Courses, Get help with Assignment

Write us your full requirement for evaluation and you will receive response within 20 minutes turnaround time.

Ask Now Help with Problems, Get a Best Answer

Why might a bank avoid the use of interest rate swaps even

Why might a bank avoid the use of interest rate swaps, even when the institution is exposed to significant interest rate

Describe the difference between zero coupon bonds and

Describe the difference between zero coupon bonds and coupon bonds. Under what conditions will a coupon bond sell at a p

Compute the present value of an annuity of 880 per year

Compute the present value of an annuity of $ 880 per year for 16 years, given a discount rate of 6 percent per annum. As

Compute the present value of an 1150 payment made in ten

Compute the present value of an $1,150 payment made in ten years when the discount rate is 12 percent. (Do not round int

Compute the present value of an annuity of 699 per year

Compute the present value of an annuity of $ 699 per year for 19 years, given a discount rate of 6 percent per annum. As