Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

C++ You are to compare two sorting algorithms and compare two searching algorithms by running the algorithms and collecting data on each. Your data for

C++

You are to compare two sorting algorithms and compare two searching algorithms by running the algorithms and collecting data on each. Your data for sorting and searching will be strings of 20 characters in length. Have your program run, compute and print all the results in one run one execution, not multiple runs. (You are to run your program one time for all data sets.) In order to test sort algorithm, we will need to run each sort algorithms on different size data sets.

First Part:

The two sorts to compare are the Bubble Sort and the Selection Sort. You are to test your sorts against different sets of strings. Each sort will sort six sets of data, one set has 1000 strings, then a set with 3000 strings, 5000, 7000, 9000 and 11000 strings. You will compare how well each sort did with the different data sizes and show results. I would like to see a plot of the results. A table format showing results will do. Use the clock function shown in the handout for timing. Show answers with at least 4 places to right of decimal point. (Note: you need only one array of 11000 using only part of it for the smaller sort/search tasks.)

Second Part:

The two searches to use for comparisons are the Linear Search and the Binary Search. You will search for 5000 random strings in the array of 11000 strings array only and compute the average number of probes (not time) needed to find a match. The target string will be a randomly selected string from the 11000 strings data set. By selecting a string out of the 11000, you will always find the string in a search. You will select randomly 5000 strings for testing each search algorithm. Output the average number of probes needed for each search algorithm.

Third Part:

How does your two search algorithms compare with the theoretical search values?

You are to generate random strings of 20 characters in each string for your string data sets. Below is code to build one (1) random string.

Hint:

char charset[52]; a b c A B C Z;

string randomstr;

for ( i = 1; i <=20; i++ )

{ randomndx = rand() % 56; // random index into array charset.

randomstr = randomstr + charset[ randomndx ]; //concat a char to the string being built

// you are building a string one char at a time.

// The code above builds only one string.

}

To select a random string form the 11000. How? You will generate a random number between 0 to 10999, an index into the 11000 string array. Then use the selected string to do a Search. You will search for the random string using the Linear Search. Now generate a new random number as an index into the 11000 array again and do a search again. You will do the same action for the Binary Search. Do this for 5000 strings for the Linear Search and 5000 strings for the Binary Search.

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

Data Access Patterns Database Interactions In Object Oriented Applications

Authors: Clifton Nock

1st Edition

0321555627, 978-0321555625

More Books

Students also viewed these Databases questions

Question

h. What intercultural interaction occurred in the show?

Answered: 1 week ago

Question

Explain the Neolithic age compared to the paleolithic age ?

Answered: 1 week ago

Question

What is loss of bone density and strength as ?

Answered: 1 week ago

Question

What is Change Control and how does it operate?

Answered: 1 week ago

Question

How do Data Requirements relate to Functional Requirements?

Answered: 1 week ago