# Write a computer program that prompts the user for one number, n for

Module 7 showed that one way of comparing different algorithms for accomplishing the same task is complexity analysis. You will recall that in complexity analysis we express the time an algorithm takes to run as a function of the size of the input, and we used the big-Oh notation. For example, if an algorithm has a complexity of O(1), then it always runs in the same amount of time, no matter what the size of the input is; if it O(n), then the time it takes for the algorithm to run is proportional to the size of the input. However, complexity analysis has a number of limitations. For example, big-Oh analysis concerns the worst case scenario. For example, some sorting algorithms with a complexity of O(n^2) often run considerably faster if the list that it receives as input is (almost) sorted; other sorting algorithms with a complexity of O(n^2) always take the same amount of time, no matter what state the list is in. Also, in big-Oh, we look at the dominant term in our calculation of the complexity of the algorithm. Thus, when we analyze an algorithm and discover that it runs in 75,312 + n time units, we still say that it has a complexity of O(n). It is therefore deemed to be better than an algorithm that runs in .007 + n^2 time units, as this algorithm has a complexity of O(n^2).

We also saw the rationale behind this: If n becomes sufficiently large, the other factors become insignificant. Fortunately, there is another way to determine how long it takes for an algorithm to run, namely timing experiments. In a timing experiment, you actually implement the algorithm in a programming language, such as Java or C++, and simply measure how long it takes for the algorithm to run. In the term project for this course, you are going to conduct a timing experiment and compare the results with the results you would get from a complexity analysis. We will compare Bubble Sort with Selection Sort. In its least sophisticated form, bubble sort (http://en.wikipedia.org/wiki/Bubble_sort) works as follows: Assuming that the list contains n elements. Compare the first and the second element in the list, and swap them if the last element is smaller than the preceding one; otherwise, do nothing to this pair. Now, compare the second and third elements and swap them if the first of them is larger than the second; otherwise, do nothing to this pair. Move on the next pair and continue the process until you reach the end of the list.

A little reflection will show that at the end of this iteration, the last element in the list is now the largest element in the list. The last element has bubbled to the top. Now repeat the process but rather than going to the end of the list, stop when you reach n-1. Now repeat the process again, but rather than going to the end of the list, stop when you reach n-2. Keep repeating this until you reach 1. The Wikipedia entry has a little simulation that shows how bubble sort works. The code looks something like: bubbleSort(array A){ n = length(A); for(j = n; j > 0, j–) for(i = 1; i < j; i++) { if A[i-1] > A[i] swap(A,i-1, i); } } } swap obviously swaps the elements and can be defined as: swap(A, pos1, pos2) { temp = A[pos1]; A[pos1] = A[pos2]; A[pos2] = temp; } Another sort is selection sort (http://en.wikipedia.org/wiki/Selection_sort). We saw selection sort in the question in the sub-module on how to determine the complexity of an algorithm. Array A contains n elements, the elements to be sorted. The algorithm starts at the first position in the array and looks through the array for the smallest element. Once it reaches the end of the array, it puts that element in the first cell of the array. It then restarts the whole process from the second position in the array, and continues until the entire array has been sorted. selection_sort(array A) { int i,j int iMin; for(j = 0; j < n; j++){ iMin = j; for ( i = j+1; i < n; i++) { if (a[i] < a[iMin]) { iMin = i; } } if ( iMin != j ) { swap(a[j], a[iMin]); } } }

#Write #computer #program #prompts #user #number

Pages (275 words)
Standard price: \$0.00

### Latest Reviews

Impressed with the sample above? Wait there is more

Related Questions

### T‌‍‍‍‌‍‍‌‌‍‍‍‌‍‍‍‍‌‍‍he assignment Important These pages provide guidance on how to

T‌‍‍‍‌‍‍‌‌‍‍‍‌‍‍‍‍‌‍‍he assignment Important These pages provide guidance on how to write your assignment. Please ensure you read all of this information right through until

### For this assignment, you will analyze the case study titled

For this assignment, you will analyze the case study titled “Staffing Evaluation at Hallmark” on page 530 of your textbook. Read the case study and

### submit 1- to 2-page reflection explaining the following about the

submit 1- to 2-page reflection explaining the following about the lesson plan: (REMEMBER, that your lesson plan should be aligned to the assessment that

### Research paper topic: Data breaches in the cloud  By 2018, the

Research paper topic: Data breaches in the cloud  By 2018, the need to prevent data breaches from public clouds will drive 20% of organizations to

### Why is it important for project managers to understanding acquisition rules and regulations For those who are not up to

Why is it important for project managers to understanding acquisition rules and regulations? For those who are not up to speed on acquisition rules and

### A. Recommend an appropriate and effective leadership style that superiors

A. Recommend an appropriate and effective leadership style that superiors at the organization could employ to address the problem and best fit the organization based

### For this writing assignment, choose one of the two short-answer

For this writing assignment, choose one of the two short-answer prompts below and write a two-page, double-spaced paper addressing the questions/topics listed. 1. Device Analysis: Decide

### ANSWER THE FOLLOWING QUESTIONS IN 1 PARAGRAPH OR SO. DO

ANSWER THE FOLLOWING QUESTIONS IN 1 PARAGRAPH OR SO. DO NOT NEED TO BE LONG BUT PLEASE ANSWER THEM FULLY AND CLEARLY. 1 ANALYSIS +

### What should you do? Who do you speak to? How

What should you do? Who do you speak to? How will you deal with this situation?  Would further evidence effect your decision?  What if

### Directions: Role in Conflict Management As a nurse leader or

Directions: Role in Conflict Management As a nurse leader or manager, you are responsible for conflict management. Describe how you would handle a conflict

### read the test ( Ahmed, Sara.  What’s the Use? On

read the test ( Ahmed, Sara.  What’s the Use? On the Uses of Use.  Durham and London: Duke University Press, 2009) ， Ask a related

### The write-up should be at most1,000-words (12-pointfont, 1.5 spaced) Make

The write-up should be at most1,000-words (12-pointfont, 1.5 spaced) Make sure that you follow the following format:  Synopsis (first paragraph, max 2) – Show that

New questions