State two different self-reductions for the sum problem

Assignment Help Data Structure & Algorithms
Reference no: EM13905293

Problem 1:

1. For this problem consider the problem of finding the maximum element in a list of integers.

Maximum Integer in a List (MAX)

Input:A List of integers A|a.....b|.

Output: A[i] for some a ≤ i ≤ b such that A[i] ≥ A[j] for all a ≤ j ≤ b

Let M (A[a . . . b]) represent the output of the MAX problem on input A[a . . . b]. Let max(a, b) be a simple function that returns the maximum of two elements. Let m = [a+b]/2 be the midpoint between a and b, let t1 = [a+b/3] be the point one third of the distance from a to b, and let t2 = [2(a+b)/3] be the point two thirds of the distance from a to b.

1. Below is a self-reduction for the MAX problem. State a recursive algorithm using pseudocode for finding the maximum element based on this self-reduction.

M (A[a . . . b]) =  A(a) if a =b  

                         max(A[a], M (A[a + 1 . . . b])) if a < b

2. Using the same reduction as part 1 now state a recurrence T (n) that expresses the worst case run time of the recursive algorithm. Find a similar recurrence in your notes and state the tight bound on T (n).

3. Below is a self-reduction for the MAX problem. State a recursive algorithm using pseu- docode for finding the maximum element based on this self-reduction.

M (A[a . . . b]) =  -∞      if a > b

                          A[a]   if a = b

                         max(M (A[a . . . t1]), max(M (A[t1 + 1 . . . t2]), M (A[t2 + 1 . . . b]))) if a < b

4. Using the same reduction as part 3 now state a recurrence T (n) that expresses the worst case run time of the recursive algorithm. You do not need to formally prove your recurrence, but you have to show that it is a reasonable guess by using a recursion tree or by the repeated substitution method. Hint: assume that n is a power of 3.

Problem 2:

For this problem consider the problem of finding the sum of a list of integers.

Sum of all Integers in a list (SUM)

Input: A List of Integers A[a...b]

Output: s = i=ab A[i].

Let S(A[a . . . b]) represent the output of the SUM problem on input A[a . . . b].

1. State two different self-reductions for the SUM problem. Use the self-reduction examples from the lectures as a guide.

2. Give recursive algorithms based on your divide-and-conquer self-reductions to solve the SUM problem.

3. What are the worst-case runtimes of the solutions you have generated. (Just state the runtimes. You do not need to show your work.)

Problem 3:

Consider the following recurrence T (n):

T(n) = c if n = 1

          T [n/2] + T(|n/4|) + 4n    if n > 1

1. Use the recursion tree or repeated substitution method to come up with a good guess for a bound g (n) on the recurrence T (n).

2. State and prove by induction a theorem showing T (n) ∈ O(g (n)).

3. State and prove by induction a theorem showing T (n) ∈ ?(g (n)).

Consider the following recurrence T (n):

T (n) =   c   if n = 1

            T ([n/2]) + T ([n/4]) + 4n   if n > 1

1. Draw the first six levels of the recursion tree by drawing all recursive calls of the same size on the same level. Make sure on each level you indicate the size of the recursive call and the number of recursive calls.

2. Express the cost of all levels of the recursion tree as a sum over the cost of each level of the recursion tree.

3. Give a function g (n) and show it is an upper bound on the sum.

4. State and prove by induction a theorem showing T (n) ∈ O(g (n)).

5. State and prove by induction a theorem showing T (n) ∈ ?(g (n)).

Problem 4:

CHALLENGE

Consider the following observation on the randomized Quicksort algorithm. Because the pivot is chosen uniformly at random among the n input element, with probability 1/2 the chosen pivot's position on the sorted list will be between n/4 and 3n/4 (i.e. a good pivot), and with probability 1/2 the chosen pivot's position on the sorted list will be between 1 and n/4 or between 3n/4 and n (i.e. a bad pivot).

1. State a recurrence that expresses the worst case for bad pivots.

2. State a recurrence that expresses the worst case for good pivots.

3. State a recurrence that expresses the expected worst case by combining the first two recurrences.

4. Prove by induction that your recurrence is Θ(n log n).

Reference no: EM13905293

Questions Cloud

Calculate the company''s net sales for the year : Barkley Company's adjusted trial balance on March 31, 2013, its fiscal year end, follows.
Discuss the available technologies for dewatering sludge : Discuss the available technologies for dewatering sludge
Who knows about the t test for a single sample : The next table shows the results of this independent t-test. At the .05 significance level, can we conclude that there is a difference in their mean times? Explain these results to a person who knows about the t test for a single sample but is unf..
Cultural diversity of an hr department : Prepare a report on the cultural diversity of an HR department in a multi location IT company. Examine the challenges it faces in the changed business scenario.
State two different self-reductions for the sum problem : State two different self-reductions for the SUM problem and give recursive algorithms based on your divide-and-conquer self-reductions to solve the SUM problem.
Organization and suggest methods : Analyse and appraise the quality circle movement in a service organization and suggest methods for its enhancement.
Acquisition or destruction of assets : "The function of Financial Management is to review and control decisions to commit or recommit funds to new or ongoing uses. Thus in addition to raising funds, financial Management is directly concerned with production, marketing and other functio..
The company makes all purchases on credit, and its suppliers : Use the data for Barkley Company in Problem 5-4 to complete the following requirements. In Problem 5-4, Barkley Company's adjusted trial balance on March 31, 2013, its fiscal year end, follows.
Defectives and three defectives in a consignment : The blades are supplied in a packet of 10. Use Poisson distribution to calculate the approximate number of packets containing blades with no defective, one defective, two defectives and three defectives in a consignment of 10,000 packets.

Reviews

Write a Review

Data Structure & Algorithms Questions & Answers

  Question 1 explain the trend that views software as a

question 1 explain the trend that views software as a service rather than a product. what effect has this trend had on

  Definition and purpose of normalization

Explain how 3rd Normal Form can reduce insert, update and delete anomalies

  Arrays & more loops practice

Write a program ArraysAndLoops and implement the following in the main method:

  Determine minimum number of total nodes tree can have

If binary tree has height 4, determine minimum number of total nodes tree can have? c. If binary tree has height 4, determine the maximum number of total nodes tree can have?

  Design randomized algorithm for solving decoding problem

The Viterbi algorithm is a deterministic algorithm for solving the Decoding problem. Design a randomized algorithm for solving the Decoding problem.

  Write algorithm for graph minimum number of semesters

You are given a DAG called G which is the prerequisite graph for a set of courses required for a degree. Each vertex corresponds to course. Provide a high-level description of algorithm which labels each vertex in G with minimum number of semesters..

  What do these two indexes represent

What do these two indexes represent - what are the limits for each one of these indexes?

  You have been commissioned to prepare a manual covering the

in a 6-8-page paper complete the followingyou have been commissioned to create a manual covering the installation

  Write pseudocode of warshall algorithm

Write pseudocode of Warshall's algorithm assuming that the matrix rows are represented by bit strings on which the bitwise or operation can be performed

  Empty stack

1. Suppose an initially empty stack S has performed a total of 25 push operations, 12 top operations, and 10 pop operations, 3 of which generated EmptyStackExceptions, which were caught and ignored. What is the current size of S?

  What is the most difficult part of creating the algorithm

Pseudocode algorithm you would write for a simple task. What do you think is the most difficult part of creating the algorithm? What can you do to make this process easier?

  E is said to be a bottleneck edge if increasing

In a flow network G(V,E) with source s and sink t, an edge e in E is said to be a bottleneck edge if increasing the capacity of the edge e increases the maximum flow value in the network.

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd