Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Problem 4: (5 points) Consider the following pseudocode for a sorting algorithm. StoogeSort(A[0 ... n - 1]) if n = 2 and A[0] > A[1]

Problem 4: (5 points) Consider the following pseudocode for a sorting algorithm.

StoogeSort(A[0 ... n - 1])

if n = 2 and A[0] > A[1]

swap A[0] and A[1]

else if n > 2

m = ceiling(2n/3)

StoogeSort(A[0 ... m - 1])

StoogeSort(A[n - m ... n - 1])

Stoogesort(A[0 ... m - 1])

a) Verbally describe how the STOOGESORT algorithm sorts its input.

b) Would STOOGESORT still sort correctly if we replaced k = ceiling(2n/3) with k = floor(2n/3)? If yes prove if no give a counterexample. (Hint: what happens when n = 4?)

c) State a recurrence for the number of comparisons executed by STOOGESORT.

d) Solve the recurrence to determine the asymptotic running time. CS 325 - Homework Assignment 2

Problem 5: (10 points) a) Implement STOOGESORT from Problem 4 to sort an array/vector of integers. Implement the algorithm in the same language you used for the sorting algorithms in HW 1. Your program should be able to read inputs from a file called data.txt where the first value of each line is the number of integers that need to be sorted, followed by the integers (like in HW 1). The output will be written to a file called stooge.out. Submit a copy of all your code files and a README file that explains how to compile and run your code in a ZIP file to TEACH. We will only test execution with an input file named data.txt.

b) Now that you have proven that your code runs correctly using the data.txt input file, you can modify the code to collect running time data. Instead of reading arrays from a file to sort, you will now generate arrays of size n containing random integer values and then time how long it takes to sort the arrays. We will not be executing the code that generates the running time data so it does not have to be submitted to TEACH or even execute on flip. Include a text copy of the modified code in the written HW submitted in Canvas. You will need at least seven values of t (time) greater than 0. If there is variability in the times between runs of the algorithm you may want to take the average time of several runs for each value of n.

c) Plot the running time data you collected on an individual graph with n on the x-axis and time on the y-axis. You may use Excel, Matlab, R or any other software. Also plot the data from Stooge algorithm together on a combined graph with your results for merge and insertion sort from HW1.

d) What type of curve best fits the StoogeSort data set? Give the equation of the curve that best fits the data and draw that curve on the graphs of created in part c). How does your experimental running time compare to the theoretical running time of the algorithm?

***I have completed Problem 4, but need help with Problem 5 please.***

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

Intelligent Information And Database Systems Asian Conference Aciids 2012 Kaohsiung Taiwan March 19 21 2012 Proceedings Part 3 Lnai 7198

Authors: Jeng-Shyang Pan ,Shyi-Ming Chen ,Ngoc-Thanh Nguyen

2012th Edition

3642284922, 978-3642284922

More Books

Students also viewed these Databases questions

Question

How do laws like GLBA, HIPPA and PCI DSS protect consumers?

Answered: 1 week ago

Question

Briefly explain the various types of leadership ?

Answered: 1 week ago

Question

Explain the need for and importance of co-ordination?

Answered: 1 week ago

Question

Explain the contribution of Peter F. Drucker to Management .

Answered: 1 week ago

Question

What is meant by organisational theory ?

Answered: 1 week ago

Question

3. Outline the four major approaches to informative speeches

Answered: 1 week ago

Question

4. Employ strategies to make your audience hungry for information

Answered: 1 week ago