Problem

Project of Chapter 9 used a vector in the implementation of an iterative merge sort. In th...

Project of Chapter 9 used a vector in the implementation of an iterative merge sort. In that project, the vector was used as if it were a queue. Repeat the project, but use a queue instead of a vector.

Consider the following implementation of an iterative merge sort. Scan the array from its beginning and partition it into segments that are each sorted. As you find each segment, represent it as a pair of indices and place the pair at the end of an initially empty vector.

Next, remove the first two pairs from the vector and merge the array segments they represent. Notice that these segments are adjacent in the array. The merge results in a larger segment that is sorted. Place the pair of indices that represents the resulting segment at the end of the vector. Repeat the steps in this paragraph until only one entry remains in the vector.

Sometimes during the process, the two pairs at the beginning of the vector will represent segments that are not adjacent. In this case, move the first pair to the end of the vector and continue.

a. What is the best-case performance of this algorithm?


b. What is the worst-case performance of this algorithm?


c. Implement the algorithm.

FIGURE 2 Special cases in an iterative merge sort after merging one-entry subarrays

Step-by-Step Solution

Request Professional Solution

Request Solution!

We need at least 10 more requests to produce the solution.

0 / 10 have requested this problem solution

The more requests, the faster the answer.

Request! (Login Required)


All students who have requested the solution will be notified once they are available.
Add your Solution
Textbook Solutions and Answers Search
Solutions For Problems in Chapter 10
ADVERTISEMENT
Free Homework Help App
Download From Google Play
Scan Your Homework
to Get Instant Free Answers
Need Online Homework Help?
Ask a Question
Get Answers For Free
Most questions answered within 3 hours.
ADVERTISEMENT