Computer Science: An Overview (13th Edition) (What's New in Computer Science)
13th Edition
ISBN: 9780134875460
Author: Glenn Brookshear, Dennis Brylow
Publisher: PEARSON
expand_more
expand_more
format_list_bulleted
Concept explainers
Textbook Question
Chapter 5, Problem 56CRP
- a. Identity the preconditions for the sequential search as represented in Figure 5.6. Establish a loop invariant for the while structure in that program that, when combined with the termination condition, implies that upon termination of the loop, the
algorithm will report success or failure correctly. - b. Give an argument showing that the while loop in Figure 5.6 does in fact terminate.
Expert Solution & Answer
Want to see the full answer?
Check out a sample textbook solutionStudents have asked these similar questions
(a) The Fibonacci sequence can also be seen in hurricanes prediction. The shape takes in the
form of a spiral, it can be in a nesting process and repeated into infinity. It is called the
logarithmic spiral, and it abounds in nature. The Fibonacci sequence of numbers, “Fn”, is
defined using the recursive relation. Fibonacci sequence of numbers can be computed as
follows:
Fn = Fn-1+Fn-2
If the 12th and 13th terms in the hurricane prediction sequence are 89 km/hour and 144
km/hour, analyze the value of the 15th, 16th, and 17th hurricane speed by using the Fibonacci
formula as stated above.
Loop invariants
Consider the following code, assuming that i, x, y, and n are integers, with n > 0.
• State a non-trivial loop invariant for variable x.
• Prove the loop invariant. Be sure that the proof includes the final conditions after the loop has ended.
Note: a correct proof of an incorrect invariant will still receive partial credit.
• Give the final value of a in terms of n.
Hint: is the pattern close to (e.g. off by one) from some other pattern you might recognize?
Hint: you might need to include a condition for y somewhere within your proof.
i = 0;
x = 1;
while in do
y = x + 2;
x=x*y;
i = 1 + 1;
After the loop, x =
(the invariant goes here)
a. Correctness of dynamic programming algorithm:
Usually, a dynamic programming algorithm can be seen as a recursion and proof by induction is one of the easiest way to show its correctness. The structure of a proof by strong induction for one variable, say n, contains three parts. First, we define the Proposition P(n) that we want to prove for the variable n. Next, we show that the proposition holds for Base case(s), such as n = 0, 1, . . . etc. Finally, in the Inductive step, we assume that P(n) holds for any value of n strictly smaller than n' , then we prove that P(n') also holds.
Use the proof by strong induction properly to show that the algorithm of the Knapsack problem above is correct.
b. Bounded Knapsack Problem:
Let us consider a similar problem, in which each item i has ci > 0 copies (ci is an integer). Thus, xi is no longer a binary value, but a non-negative integer at most equal to ci , 0 ≤ xi ≤ ci . Modify the dynamic programming algorithm seen at class for this…
Chapter 5 Solutions
Computer Science: An Overview (13th Edition) (What's New in Computer Science)
Ch. 5.1 - Prob. 1QECh. 5.1 - Prob. 2QECh. 5.1 - Prob. 3QECh. 5.1 - Suppose the insertion sort as presented in Figure...Ch. 5.2 - A primitive in one context might turn out to be a...Ch. 5.2 - Prob. 2QECh. 5.2 - The Euclidean algorithm finds the greatest common...Ch. 5.2 - Describe a collection of primitives that are used...Ch. 5.3 - Prob. 2QECh. 5.3 - Prob. 3QE
Ch. 5.3 - Prob. 4QECh. 5.4 - Modify the sequential search function in Figure...Ch. 5.4 - Prob. 2QECh. 5.4 - Some of the popular programming languages today...Ch. 5.4 - Suppose the insertion sort as presented in Figure...Ch. 5.4 - Prob. 5QECh. 5.4 - Prob. 6QECh. 5.4 - Prob. 7QECh. 5.5 - What names are interrogated by the binary search...Ch. 5.5 - Prob. 2QECh. 5.5 - What sequence of numbers would be printed by the...Ch. 5.5 - What is the termination condition in the recursive...Ch. 5.6 - Prob. 1QECh. 5.6 - Give an example of an algorithm in each of the...Ch. 5.6 - List the classes (n2), (log2n), (n), and (n3) in...Ch. 5.6 - Prob. 4QECh. 5.6 - Prob. 5QECh. 5.6 - Prob. 6QECh. 5.6 - Prob. 7QECh. 5.6 - Suppose that both a program and the hardware that...Ch. 5 - Prob. 1CRPCh. 5 - Prob. 2CRPCh. 5 - Prob. 3CRPCh. 5 - Select a subject with which you are familiar and...Ch. 5 - Does the following program represent an algorithm...Ch. 5 - Prob. 6CRPCh. 5 - Prob. 7CRPCh. 5 - Prob. 8CRPCh. 5 - What must be done to translate a posttest loop...Ch. 5 - Design an algorithm that when given an arrangement...Ch. 5 - Prob. 11CRPCh. 5 - Design an algorithm for determining the day of the...Ch. 5 - What is the difference between a formal...Ch. 5 - Prob. 14CRPCh. 5 - Prob. 15CRPCh. 5 - The following is a multiplication problem in...Ch. 5 - Prob. 17CRPCh. 5 - Four prospectors with only one lantern must walk...Ch. 5 - Starting with a large wine glass and a small wine...Ch. 5 - Two bees, named Romeo and Juliet, live in...Ch. 5 - What letters are interrogated by the binary search...Ch. 5 - The following algorithm is designed to print the...Ch. 5 - What sequence of numbers is printed by the...Ch. 5 - Prob. 24CRPCh. 5 - What letters are interrogated by the binary search...Ch. 5 - Prob. 26CRPCh. 5 - Identity the termination condition in each of the...Ch. 5 - Identity the body of the following loop structure...Ch. 5 - Prob. 29CRPCh. 5 - Design a recursive version of the Euclidean...Ch. 5 - Prob. 31CRPCh. 5 - Identify the important constituents of the control...Ch. 5 - Identify the termination condition in the...Ch. 5 - Call the function MysteryPrint (defined below)...Ch. 5 - Prob. 35CRPCh. 5 - Prob. 36CRPCh. 5 - Prob. 37CRPCh. 5 - The factorial of 0 is defined to be 1. The...Ch. 5 - a. Suppose you must sort a list of five names, and...Ch. 5 - The puzzle called the Towers of Hanoi consists of...Ch. 5 - Prob. 41CRPCh. 5 - Develop two algorithms, one based on a loop...Ch. 5 - Design an algorithm to find the square root of a...Ch. 5 - Prob. 44CRPCh. 5 - Prob. 45CRPCh. 5 - Design an algorithm that, given a list of five or...Ch. 5 - Prob. 47CRPCh. 5 - Prob. 48CRPCh. 5 - Prob. 49CRPCh. 5 - Prob. 50CRPCh. 5 - Prob. 51CRPCh. 5 - Does the loop in the following routine terminate?...Ch. 5 - Prob. 53CRPCh. 5 - Prob. 54CRPCh. 5 - The following program segment is designed to find...Ch. 5 - a. Identity the preconditions for the sequential...Ch. 5 - Prob. 57CRPCh. 5 - Prob. 1SICh. 5 - Prob. 2SICh. 5 - Prob. 3SICh. 5 - Prob. 4SICh. 5 - Prob. 5SICh. 5 - Is it ethical to design an algorithm for...Ch. 5 - Prob. 7SICh. 5 - Prob. 8SI
Additional Engineering Textbook Solutions
Find more solutions based on key concepts
Consider the following two relations for Millennium College: STUDENT(StudentID, StudentName, CampusAddress, GPA...
Modern Database Management
Suppose the class F is defined in (a). Let f be an instance of F. Which of the statements in (b) are correct?
Introduction to Java Programming and Data Structures, Comprehensive Version (11th Edition)
What error message do you see in the Code Pad if you type the following?
The error message is not actually v...
Objects First with Java: A Practical Introduction Using BlueJ (6th Edition)
Write a program that acts as a simple printing calculator. The program should allow the user to type in express...
Programming in C
Suppose that nl is of type int and n2 is of type long. What is the type of the value returned by Math.min (n1, ...
Java: An Introduction to Problem Solving and Programming (8th Edition)
Write an SQL statement to display the breed, type, and DOB of all pets having the type Dog.
Database Concepts (7th Edition)
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
- F. Task(s) Divide and Conquer Algorithm - Mergesort Assume that you have recently joined SortPro Inc. as an intem. SortPro engages in software solutions for clients in the food and beverage industry and in the hospitality industry. As an intern, your Team Lead assigns you the task of developing a sorting algorithm for a client in the food and beverage industry. The client takes food orders and wishes to have the option of sorting his food orders by the order id. To check the soundness of your solution, your Team Lead asks you to write a program that will sort the food orders using Mergesort and to report the efficiency of the algorithm. Your Team Lead has set the following requirements: • Auto-generate the order ids randomly. You may use a random function to generate the order ids. The order id takes the form of FD9999 (the number of digits might change according to the maximum number of orders, n, that is input by the user). • For each order id, the total cost of the order should also…arrow_forwardUsing a repetition construct, display the following on the screen (warm-up problem). L P P Larrow_forwardExercise 1.A set W of strings of symbols is defined recursively by a, b, and d belong to W. If x belongs to W, so does a(x)d. Provide 3 strings made of 3 letters each belonging to W and show the procedure used to obtain them. Provide 3 strings made of at least 5 letters each belonging to W and show the procedure used to obtain them.arrow_forward
- 2. Let E be the alphabet E = {0, 1, 2, 3, 4}. Then using Definition 1 of section 5.3, (a) Give a recursive definition of the set of strings E". (b) Prior to the first iteration of the recursion, list all the elements then in E*. (c) After the first iteration of the recursion, list all the elements then in E*. (d) After the second iteration of the recursion, list all the elements then in E*. Definition 1 The set E* of strings over the alphabet E is defined recursively by BASIS STEP: À e E* (where à is the empty string containing no symbols). RECURSIVE STEP: fw ε amd x Σ, then wx E Σ'.arrow_forwardWhich of the following statements about recursion are TRUE? at least one parameter of a recursive function is equivalent to the loop variable in a while loop recursive functions stop once the base case is reached U any problem that can be solved with a loop can be written recursively as long as the input size is not too large a recursive function calls itself at least oncearrow_forwardAn artificial intelligence system was design to forecast the financial trading market and predict change A В E F a. Produce the results for depth search from the graph above. eg A to B should be (A,B) b. Produce the values for de pth search and breadth search. eg A to B should be (A,B) С. Produce the adjacency matrix of the graph above. d. Write a program in c++ using two for loops to perform the breadth search. e. Write a program in c++ using two for loops to perform the depth search.arrow_forward
- Computer Science A) If the values of c and d are given and the function Euclid(c,d) below is executed, multiple recursive calls (Bolded at function) are performed to obtain gcd(c,d) and terminate. Give examples of c and d that make exactly 7 recursive calls, and show the process. However, c>d>=1. Euclid(c,d) if d=0 then return c else return Euclid(d,c mod d)arrow_forwarda) Use iteration to find an explicit formula for the sequence bo, b1, b2, ... defined recursively as follows: bk = 2bk-1+3 for all integers k > 1. bo = 1. b) Use mathematical induction to verify that this sequence satisfies your explicit formula.arrow_forwardAn artificial intelligence system was design to forecast the financial trading market and predict change A B D E F a. Produce the results for depth search from the graph above. eg A to B should be (A,B) b. Produce the values for depth search and breadth search. eg A to B should be (A,B) c. Produce the adjacency matrix of the graph above. d. Write a program in c++ using two for loops to perform the breadth search. e. Write a program in c++ using two for loops to perform the depth search.arrow_forward
- Recursion can be direct or indirect. It is direct when a function calls itself and it is indirect recursion when a function calls another function that then calls the first function. To illustrate solving a problem using recursion, consider the Fibonacci series: - 1,1,2,3,5,8,13,21,34...The way to solve this problem is to examine the series carefully. The first two numbers are 1. Each subsequent number is the sum of the previous two numbers. Thus, the seventh number is the sum of the sixth and fifth numbers. More generally, the nth number is the sum of n - 2 and n - 1, as long as n > 2.Recursive functions need a stop condition. Something must happen to cause the program to stop recursing, or it will never end. In the Fibonacci series, n < 3 is a stop condition. The algorithm to use is this: 1. Ask the user for a position in the series.2. Call the fib () function with that position, passing in the value the user entered.3. The fib () function examines the argument (n). If n < 3…arrow_forwardGiven three sequences of length m, n, and p each, you are to design and analyze an algorithm to find the longest common subsequence (LCSS) for the three sequence. Is it possible to use dynamic programming to find the LCSS between the three sequences? If yes, provide recursive solution to the above problem. (Hint: We already designed dynamic programming algorithm for two sequences of length m and n in our class.)arrow_forwardQuestions: PLease answer all and for 2a write pseudocode not explanantion. (a) Write pseudocode following the above intuition. (b) Determine the worst-case asymptotic run time of this algorithm and explain why this is the worst case. (c) Assume that the sizes of L and R are equal at each step of the algorithm. Find a recurrence relation describing the run time in this case. (d) Given this recurrence relation, what is the asymptotic run time of the algorithm? Be sure to justify your answer using the master theorem.arrow_forward
arrow_back_ios
SEE MORE QUESTIONS
arrow_forward_ios
Recommended textbooks for you
- C++ Programming: From Problem Analysis to Program...Computer ScienceISBN:9781337102087Author:D. S. MalikPublisher:Cengage Learning
C++ Programming: From Problem Analysis to Program...
Computer Science
ISBN:9781337102087
Author:D. S. Malik
Publisher:Cengage Learning
Computational Software for Intelligent System Design; Author: Cadence Design Systems;https://www.youtube.com/watch?v=dLXZ6bM--j0;License: Standard Youtube License