Introduction to Algorithms
3rd Edition
ISBN: 9780262033848
Author: Thomas H. Cormen, Ronald L. Rivest, Charles E. Leiserson, Clifford Stein
Publisher: MIT Press
expand_more
expand_more
format_list_bulleted
Concept explainers
Question
Chapter 9, Problem 3P
(a)
Program Plan Intro
To describe an
(b)
Program Plan Intro
To show that
(c)
Program Plan Intro
To show that
(d)
Program Plan Intro
To show that
Expert Solution & Answer
Want to see the full answer?
Check out a sample textbook solutionStudents have asked these similar questions
The Gale-Shapley algorithm is upper bounded by ≤ n^2 for n men and n women, since each man can only make ≤n proposals.However, we haven’t shown a lower bound on number of iterations. To show the lower bound is also inthe order of n^2, please give a way to construct the preference lists for n men and n women such that theGale-Shapley algorithm will run for Θ(n^2) iterations. (For simplicity, you can assume that the algorithmalways chooses the unmatched man with the smallest index at each iteration).
The algorithm of Euclid computes the greatest common divisor (GCD) of two integer numbers a and b. The following pseudo-code is the original version of this algorithm.
Algorithm Euclid(a,b)Require: a, b ≥ 0Ensure: a = GCD(a, b) while b ̸= 0 do t ← b b ← a mod b a ← tend whilereturn a
We want to estimate its worst case running time using the big-Oh notation. Answer the following questions:
a. Let x be a integer stored on n bits. How many bits will you need to store x/2?
b. We note that if a ≥ b, then a mod b < a/2. Assume the values of the input integers a and b are encoded on n bits. How many bits will be used to store the values of a and b at the next iteration of the While loop?
c. Deduce from this observation, the maximal number iterations of the While loop the algorithm will do.
Suppose that I searched for a number x in a sorted list of n items by comparing against the 5th item, then the 10th, then the 15th, etc. until I found an item bigger than x, and then I searched backwards from that point. Which expression best describes the approximate running time of this algorithm:
Chapter 9 Solutions
Introduction to Algorithms
Knowledge Booster
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
- Create a simple matching algorithm for a round robin competition. in which the number of participants is n (1 n) and the round index is r (0 r 2 (n 1)/2.out: When i = 0,..., n/2 1, a sequence R of n player indices signaling the match pairings between players R2i and R2i+1; if n is odd, Rn1 denoting the resting playerarrow_forwardCorrect answer will be upvoted else downvoted. Computer science. Allow us to signify by d(n) the amount of all divisors of the number n, for example d(n)=∑k|nk. For instance, d(1)=1, d(4)=1+2+4=7, d(6)=1+2+3+6=12. For a given number c, track down the base n to such an extent that d(n)=c. Input The principal line contains one integer t (1≤t≤104). Then, at that point, t experiments follow. Each experiment is characterized by one integer c (1≤c≤107). Output For each experiment, output: "- 1" in case there is no such n that d(n)=c; n, in any case.arrow_forwardThis assignment is an exercise in finding the average-case complexity of an algorithm.Rather than looking at how long an algorithm can run in the worst case as in worst-case analysis, we are looking at how long an algorithm runs on average. This is doneby computing the average number of comparisons and operations executed until thealgorithm ends.Bogosort is a sorting algorithm that orders a list in increasing order by taking thelist, checking to see if the list is ordered increasingly, if the list is not ordered increasinglythen the list is randomly shuffled, and then repeating this process until the list is orderedincreasingly.Expressed in pseudocode:Algorithm 1 BogosortRequire: list: a1, a2, . . . , an of real numbersEnsure: list is sorted in increasing order1: procedure bogo(list)2: while not sorted(list) do ▷ Checks to see if list is sorted3: shuffle(list) ▷ Shuffle the current list if not sorted4: end while5: end procedure Problem: Consider the Bernoulli trial where a success is…arrow_forward
- This assignment is an exercise in finding the average-case complexity of an algorithm.Rather than looking at how long an algorithm can run in the worst case as in worst-case analysis, we are looking at how long an algorithm runs on average. This is doneby computing the average number of comparisons and operations executed until thealgorithm ends.Bogosort is a sorting algorithm that orders a list in increasing order by taking thelist, checking to see if the list is ordered increasingly, if the list is not ordered increasinglythen the list is randomly shuffled, and then repeating this process until the list is orderedincreasingly.Expressed in pseudocode:Algorithm 1 BogosortRequire: list: a1, a2, . . . , an of real numbersEnsure: list is sorted in increasing order1: procedure bogo(list)2: while not sorted(list) do ▷ Checks to see if list is sorted3: shuffle(list) ▷ Shuffle the current list if not sorted4: end while5: end procedure We will now find the average-case time complexity for…arrow_forwardConsider a divide-and-conquer algorithm that calculates the sum of all elements in a set of n numbers by dividing the set into two sets of n/2 numbers each, finding the sum of each of the two subsets recursively, and then adding the result. What is the recurrence relation for the number of operations required for this algorithm? Answer is f(n) = 2 f(n/2) + 1. Please show why this is the case.arrow_forwardProve the correctness of the following pattern-matching algorithm. The input consists of a string S[1..n], and a pattern P[0..m − 1], where 1 ≤ m ≤ n. The algorithmlocates the first contiguous occurrence of the pattern P in the string S, that is, . = p if S[p..p + m − 1] = P, and . = n − m + 1 if the pattern P does not occur at all in the string S. function match(P, S, n, m) comment Find the pattern P[0..m − 1] in string S[1..n] 1. . := 0; matched := false 2. while (. ≤ n − m) ∧ ¬matched do 3. . := . +1; 4. r := 0; matched := true 5. while (r<m) ∧ matched do 6. matched := matched ∧ (P[r] = S[. + r]) 7. r := r + 1 8. return(.)arrow_forward
- We argued in class that if the input is not uniformally distributed, the worst-case running time of Bucket Sort (using Insertion Sort in each bucket) in O(n^2). The reason: all those numbers could fall in the same bucket, and then the time of Insertion sorting then dominates. How many out of the total n numbers could fall in one bucket and the algorithm still run in linear time if the rest are evenly distributed? (Choose one option, no points if you choose more than one.) A. O(1)B. O(√n)C. O(On)D. O(log n)E. None of the abovearrow_forwardTo what Big-O set will this algorithm belong to? In other words, what is the complexity of this algorithm? Briefly explain why you came up with your answer. Note: Since n usually refers to input size, you may assume it is a positive integer. The ellipsis (...) indicates a repetition until the pattern is finished.arrow_forwardYou will analyze three algorithms to solve the maximum contiguous subsequence sum problem, and then evaluate the performance of instructor-supplied implementations of those three algorithms. You will compare your theoretical results to your actual results in a written report. What is the maximum contiguous subsequence sum problem? Given a sequence of integers A1, A2, ..., An (where the integers may be positive or negative), find a subsequence Aj, ... , Ak that has the maximum value of all possible subsequences. The maximum contiguous subsequence sum is defined to be zero if all of the integers in the sequence are negative. Consider the sequence shown below. A1: -2 A2: 11 A3: -4 A4: 13 A5: -5 A6: 2 The maximum contiguous subsequence sum is 20, representing the contiguous subsequence in positions 2, 3, and 4 (i.e. 11 + (-4) + 13 = 20). The sum of the values in all other contiguous subsequences is less than or equal to 20. Consider a second sequence, shown below. A1: 1…arrow_forward
- The median m of a sequence of n elements is the element that would fall in the middle if the sequence was sorted. That is, e ≤ m for half the elements, and m ≤ e for the others. Clearly, one can obtain the median by sorting the sequence, but one can do quite a bit better with the following algorithm that finds the kth element of a sequence between a (inclusive) and b (exclusive). (For the median, use k = n/2, a = 0, and b = n.) select(k, a, b)Pick a pivot p in the subsequence between a and b.Partition the subsequence elements into three subsequences: the elements <p, =p, >p Let n1, n2, n3 be the sizes of each of these subsequences.if k < n1 return select(k, 0, n1).else if (k > n1 + n2) return select(k, n1 + n2, n).else return p. c++arrow_forwardFor relatively small values of n, algorithms with larger orders can be more efficient than algorithms with smaller orders. Use a graphing calculator or computer to answer this question. For what values of n is an algorithm that requires n operations more efficient than an algorithm that requires [50 log2(n)] operations? (Assume n is an integer such that n > 1.) n?arrow_forwardConsider the problem of counting, in a given text, the number of substrings that start with an A and end with a B. For example, there are four such substrings in CABAAXBYA.a. Design a brute-force algorithm for this problem and determine its efficiency class.b. Design a more efficient algorithm for this problem with complexity O (n)arrow_forward
arrow_back_ios
SEE MORE QUESTIONS
arrow_forward_ios
Recommended textbooks for you
- Database System ConceptsComputer ScienceISBN:9780078022159Author:Abraham Silberschatz Professor, Henry F. Korth, S. SudarshanPublisher:McGraw-Hill EducationStarting Out with Python (4th Edition)Computer ScienceISBN:9780134444321Author:Tony GaddisPublisher:PEARSONDigital Fundamentals (11th Edition)Computer ScienceISBN:9780132737968Author:Thomas L. FloydPublisher:PEARSON
- C How to Program (8th Edition)Computer ScienceISBN:9780133976892Author:Paul J. Deitel, Harvey DeitelPublisher:PEARSONDatabase Systems: Design, Implementation, & Manag...Computer ScienceISBN:9781337627900Author:Carlos Coronel, Steven MorrisPublisher:Cengage LearningProgrammable Logic ControllersComputer ScienceISBN:9780073373843Author:Frank D. PetruzellaPublisher:McGraw-Hill Education
Database System Concepts
Computer Science
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:McGraw-Hill Education
Starting Out with Python (4th Edition)
Computer Science
ISBN:9780134444321
Author:Tony Gaddis
Publisher:PEARSON
Digital Fundamentals (11th Edition)
Computer Science
ISBN:9780132737968
Author:Thomas L. Floyd
Publisher:PEARSON
C How to Program (8th Edition)
Computer Science
ISBN:9780133976892
Author:Paul J. Deitel, Harvey Deitel
Publisher:PEARSON
Database Systems: Design, Implementation, & Manag...
Computer Science
ISBN:9781337627900
Author:Carlos Coronel, Steven Morris
Publisher:Cengage Learning
Programmable Logic Controllers
Computer Science
ISBN:9780073373843
Author:Frank D. Petruzella
Publisher:McGraw-Hill Education