Suppose you are writing an algorithm to merge k sorted arrays of size n into a single sorted array of size kn. You write an algorithm to do so that (1) makes a recursive call to merge the first k/2 arrays, (2) makes another recursive call to merge the remaining k/2 arrays, then (3) merges the results from the calls in (1) and (2). Suppose the cost of merging two sorted arrays of sizes a and b is a+b. Suppose you are sitting at the root of the recursion tree, where the last two arrays of size kn/2 will be merged. What will be the total cost of the algorithm at this level of the tree? Give your answer as an expression in terms of n and k (in simplest form). nk'log(nk) Question 7 Given the recursive algorithm above for merging k sorted arrays, what will be the total cost of the algorithm at the bottom of the recursion tree (the sum of the work performed at the leaves)? You can assume that k is a power of 2. Give your answer as a simplified expression in terms of n and k.

C++ Programming: From Problem Analysis to Program Design
8th Edition
ISBN:9781337102087
Author:D. S. Malik
Publisher:D. S. Malik
Chapter15: Recursion
Section: Chapter Questions
Problem 17PE
icon
Related questions
Question
Question 6
Suppose you are writing an algorithm to merge k sorted arrays of size n into a
single sorted array of size kn. You write an algorithm to do so that (1) makes a
recursive call to merge the first k/2 arrays, (2) makes another recursive call to
merge the remaining k/2 arrays, then (3) merges the results from the calls in (1)
and (2). Suppose the cost of merging two sorted arrays of sizes a and b is a+b.
Suppose you are sitting at the root of the recursion tree, where the last two
arrays of size kn/2 will be merged. What will be the total cost of the algorithm at
this level of the tree? Give your answer as an expression in terms of n and k (in
simplest form).
nk*log(nk)
Question 7
Given the recursive algorithm above for merging k sorted arrays, what will be the
total cost of the algorithm at the bottom of the recursion tree (the sum of the
work performed at the leaves)? You can assume that k is a power of 2. Give your
answer as a simplified expression in terms of n and k.
Transcribed Image Text:Question 6 Suppose you are writing an algorithm to merge k sorted arrays of size n into a single sorted array of size kn. You write an algorithm to do so that (1) makes a recursive call to merge the first k/2 arrays, (2) makes another recursive call to merge the remaining k/2 arrays, then (3) merges the results from the calls in (1) and (2). Suppose the cost of merging two sorted arrays of sizes a and b is a+b. Suppose you are sitting at the root of the recursion tree, where the last two arrays of size kn/2 will be merged. What will be the total cost of the algorithm at this level of the tree? Give your answer as an expression in terms of n and k (in simplest form). nk*log(nk) Question 7 Given the recursive algorithm above for merging k sorted arrays, what will be the total cost of the algorithm at the bottom of the recursion tree (the sum of the work performed at the leaves)? You can assume that k is a power of 2. Give your answer as a simplified expression in terms of n and k.
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 2 steps with 1 images

Blurred answer
Knowledge Booster
Merge Sort
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
C++ Programming: From Problem Analysis to Program…
C++ Programming: From Problem Analysis to Program…
Computer Science
ISBN:
9781337102087
Author:
D. S. Malik
Publisher:
Cengage Learning