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
Question
Chapter 4.5, Problem 2E
Program Plan Intro
To find the largest integer value of a for which Professor Caesar’s
Expert Solution & Answer
Want to see the full answer?
Check out a sample textbook solutionStudents have asked these similar questions
3. Explain why the next matrix in Floyd’s algorithm can be written over its predecessor (i.e., when calculating D(k) from D(k-1), we do not need another matrix but can change D(k-1) into D(k).
Consider an n by n matrix, where each of the n2 entries is a
positive integer.
If the entries in this matrix are unsorted, then determining
whether a target number t appears in the matrix can only be done
by searching through each of the n2 entries. Thus, any search
algorithm has a running time of O(n²).
However, suppose you know that this n by n matrix satisfies the
following properties:
• Integers in each row increase from left to right.
• Integers in each column increase from top to bottom.
An example of such a matrix is presented below, for n=5.
4 7 11 15
2 5 8 12 19
3 6 9 16 22
10 13 14 17 24
1
18 21 23 | 26 | 30
Here is a bold claim: if the n by n matrix satisfies these two
properties, then there exists an O(n) algorithm to determine
whether a target number t appears in this matrix.
Determine whether this statement is TRUE or FALSE. If the
statement is TRUE, describe your algorithm and explain why your
algorithm runs in O(n) time. If the statement is FALSE, clearly
explain why no…
We are given a code symmetry, that takes an n x n matrix as its argument. It returns true if the matrix is symmetric and false if it is not. The run time of the code is calculated by counting how many times the /= comparison is executed.
procedure symmetry(M)
for x:=1 to (n-1)
for y:=(i+1) to n
if mxy /= myx then return false
else return true
(a) Calculate the best case run time for symmetry (will be a number).
(b) Calculate the worst case run time for symmetry (will be a polynomial in n, it will be helpful to draw matrices of different sizes and compare the number of comparisons to find a pattern).
(c) Determine the worst case run time in big O notation
(d) Using the following definition of big O notation, prove the answer to (c)
Definition: Let f and g be functions from the set of integers or the set of real numbers to the set of real numbers. We say that f(x) is O(g(x)) if there are constants C and k such that whenever x > k. [This is…
Chapter 4 Solutions
Introduction to Algorithms
Ch. 4.1 - Prob. 1ECh. 4.1 - Prob. 2ECh. 4.1 - Prob. 3ECh. 4.1 - Prob. 4ECh. 4.1 - Prob. 5ECh. 4.2 - Prob. 1ECh. 4.2 - Prob. 2ECh. 4.2 - Prob. 3ECh. 4.2 - Prob. 4ECh. 4.2 - Prob. 5E
Ch. 4.2 - Prob. 6ECh. 4.2 - Prob. 7ECh. 4.3 - Prob. 1ECh. 4.3 - Prob. 2ECh. 4.3 - Prob. 3ECh. 4.3 - Prob. 4ECh. 4.3 - Prob. 5ECh. 4.3 - Prob. 6ECh. 4.3 - Prob. 7ECh. 4.3 - Prob. 8ECh. 4.3 - Prob. 9ECh. 4.4 - Prob. 1ECh. 4.4 - Prob. 2ECh. 4.4 - Prob. 3ECh. 4.4 - Prob. 4ECh. 4.4 - Prob. 5ECh. 4.4 - Prob. 6ECh. 4.4 - Prob. 7ECh. 4.4 - Prob. 8ECh. 4.4 - Prob. 9ECh. 4.5 - Prob. 1ECh. 4.5 - Prob. 2ECh. 4.5 - Prob. 3ECh. 4.5 - Prob. 4ECh. 4.5 - Prob. 5ECh. 4.6 - Prob. 1ECh. 4.6 - Prob. 2ECh. 4.6 - Prob. 3ECh. 4 - Prob. 1PCh. 4 - Prob. 2PCh. 4 - Prob. 3PCh. 4 - Prob. 4PCh. 4 - Prob. 5PCh. 4 - Prob. 6P
Knowledge Booster
Similar questions
- Let m be a matrix with n rows and n columns whose entries are either 1 or 0. recall that the element of m on row i and column j is denoted by mij . the diagonal entries of m are {mii} for 1 ≤ i ≤ n. We call M permutable if it is possible to swap some of the rows and some of columns so that all diagonal entries are 1. Design a polynomial time algorithm that decides whether a binary matrix M is permutable or not. Note that we can swap any two rows or two columns. Also, the order in which these swaps are done is not important.arrow_forwardSuppose that you are given an m X n integer-valued matrix, with each entry denoting the amount of dollars you earn by visiting that entry. You start from the upper-left corner. At each move you can either go down or go right by one step. Design an efficient algorithm that finds the maximum number of dollars you can earn by traversing the matrix.arrow_forwardan easy way for a program that sorts the odd rows of a square matrix in descending order and its even rows in ascending order, function on cpparrow_forward
- Recall that np.dot (a,b) performs a matrix multiplication on a and b, whereas ab performs an element-wise multiplication. Consider the two following random arrays "a" and "b": a = np.random.randn (12288, 150) a.shape (12288, 150) b = np.random.randn(150, 45) b.shape= (150, 45) c = np.dot (a, b) What is the shape of c?arrow_forwardMatrix multiplication plays an important role in a number of applications. Two matrices can only be multiplied if the number of columns of the fi rst matrix is equal to the number of rows in the second.Let’s assume we have an m × n matrix A and we want to multiply it by an n × p matrix B. We can express their product as an m × p matrix denoted by AB (or A ⋅ B). If we assign C = AB, and ci,j denotes the entry in C at position (i, j), then for each element i and j with 1 ≤ i ≤ m and 1 ≤ j ≤ p. Now we want to see if we can parallelize the computation of C. Assume that matrices are laid out in memory sequentially as follows: a1,1, a2,1, a3,1, a4,1, ..., etc.Assume that we are going to compute C on both a single core shared memory machine and a 4-core shared-memory machine. Compute the speedup we would expect to obtain on the 4-core machine, ignoring any memory issues.Repeat above Exercise, assuming that updates to C incur a cache miss due to false sharing when consecutive elements are in a…arrow_forwardWrite the Python code to find the transitive closure when given zero-one matrix. DO NOT use the Warshall Algorithm in this code. Pseudo code: A := MR B := A for i := 2 to n A:= A ⊙ MR B:= B ∨ A return B (the zero-one matrix for R*)arrow_forward
- Derive the worst case upper bound of the following algorithm. Matrics_Multiplication (A, B) { I пхmmatrixА // m × p matrix B I пxрmatrixС // C= AB 1. Let C be a new matrix of the appropriate size 2. For i from 1 to n: For j from 1 to p: 3. 4. Let sum = 0 For k from 1 to m: 5. 6. Set sum - sum+A¡k × Brj 7. Set Cij - sum 8. Return C }arrow_forwardComputer Science Given an N x N matrix M with binary entries i.e every entry is either 1 or 0. You are told that every row and every column is sorted in increasing order. You are required to output a pair (i,j) with 1 <= i and j <= n corresponding to the entry of the matrix satisfying Mij = 1 and Mrs = 0 for all 1 <= r <= i and 1 <= s <= j except for Mij Informally this includes the entry of M = 1 and is closest to the top left corner. for example: M = [ 0 0 0 1 0 0 1 1 0 0 1 1 0 0 1 1] output is (2,3) or (1,4) M = [ 0 1 1 1 1 1 1 1 1] output could be (1,2) or (2,1) Design a divide and conquer algorithm, explain correctness and runtime of the algorithm.arrow_forwardGive a greedy algorithm to construct a k × n matrix of rank k(Generator matrix) for a [n,k,d]q code. We will have many choices every step: from this compute (a lower bound on) the number of full rank matrices that can be generated by this algorithm.arrow_forward
- Following code is a part of an algorithm where A = [a; ;] is an N x N matrix with a;i = a(i, j), x, y, b are vectors of length N. Count the total number of operations (addition/subtraction and multi- plication/division) for the code below in terms of N (Give a simplified answer in terms of N): Begin Algorithm fct = 2 sum for i = 1 to N x(i) y(i) = Fa end i loop for j = 1 to N suml = 0 for k = j+1 to N suml = suml+a(j,k) * y(k) end k loop r(j) end j loop sum = 10 + sum1 * fct b(j)-sum a(j, j) End Algorithmarrow_forwardWe have a MxN 2D matrix. Initialize the array with user inputs. First, find the transpose of the matrix. Additionally, if it’s a square matrix, calculate the sum of right diagonal. Write an algorithm to solve this problem. Additionally, find the time complexity of the algorithm you have written. DO NOT WRITE THE CODE.arrow_forwardA matrix is a rectangle of numbers in rows and columns. A 1xN matrix has one row and N columns. An NxN matrix has N rows and N columns. Multiplying a 1xN matrix A and an NxN matrix B produces a 1xN matrix C. To determine the Nth element of C multiply each element of A by each element of the Nth column of B and sum the results. Helpful information can be found at matrix multiplication. Write a program in Java that reads a 1xN matrix A and an NxN matrix B from input and outputs the 1xN matrix product, C. The first integer input is N, followed by one row of N integers for matrix A and then N rows of N integers for matrix B. N can be of any size >= 2. For coding simplicity, follow each output integer by a space, even the last one. The output ends with a newline. Ex: If the input is: 2 2 3 1 2 3 4 A contains 2 and 3, the first row of B contains 1 and 2, and the second row of B contains 3 and 4. The first element of C is (2 * 1) + (3 * 3), and the second element of C is (2 * 2) + (3 * 4).…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