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 5.2, Problem 5E
Program Plan Intro
To find the expected number of inversions by using indicator random variables.
Expert Solution & Answer
Want to see the full answer?
Check out a sample textbook solutionStudents have asked these similar questions
Let A and B be two arrays of length n, each containing a random permutation of the numbers from 1 to n. An inversion between the two permutations A and B is a pair of values (x, y) where the index of x is less than the index of y in array A, but the index of x is more than the index of y in array B.
Design an algorithm which counts the total number of inversions between A and B that runs in O(n log n) time.
(c) Consider an n x n array ARR stored in memory consisting of 0’s and 1’s such that, in a row of ARR, all 0’s comes before any of 1’s in the row. Write an algorithm having complexity O(n), if exists, that finds the row that contains the most 0’s. Step by step explain your algorithm with an illustrative example.
Computer 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.
Chapter 5 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
- Multiplying Factors For a pair of integers (x,y) and an integer k, the multiplying factor is defined as minimum positive integer m such that LCM(x,y) * m is divisible by k. Here LCM(x,y) represents the smallest positive integer divisible by both x and y, their least common multiple. Given an array arr of n integers and an integer k, find the sum of multiplying factors over all pairs of integers (arr[i], arr[j]) and k0 <= i,j < n. Example Suppose n=3, arr =[4,5,6] and k=12. Pair Multiplying Factor Remarks (4, 3 LCM(4,4)**3=4**3 =12 4 ) LCM(5,5)**12=5** 12=60 (5, 12 LCM(6,6)**2=6**2 5) (6, 2 12 6 )arrow_forwardA matrix is an array of numbers of size m by n (i.e., m x n). When we multiply 2 matrices, we multiply the matching numbers, then sum them up. Multiplying a matrix of size m x n with another matrix of size n x q will result in a matrix of size m x q. An example is shown in Figure 1: [ ? ? ? ? ? ? ] x [ ? ? ? ? ] = [ ?? +?? ?? + ?? ?? + ?? ?? + ?? ?? + ?? ?? + ?? ] Matrix 3 x 2 Matrix 2 x 2 Matrix 3 x 2 Figure 1: Multiplication of Matrix 3 x 2 and 2 x 2 Write a C++ program that multiplies 2 matrices and return the sum of the transposed matrix. Your program shall include the following: a) Define two 2 dimensional arrays, M and N that each represents a matrix of size 3 x 2 and a matrix of size 2 x 2. Request the user to enter the values for the 2 arrays using advanced pointer notations (refer to your slides for the list of array pointer notations). b) Create a function named multMatrix() that passes as arguments, the values of array M and N, multiplies them and store the results in a new…arrow_forwardGiven 2 sorted arrays (in increasing order), find a path through the intersection that produces the maximum sum and return the maximum sum. That is, we can switch from one array to another array only atcommon elements. If no intersection element is present, we need to take the sum of all elements from the array with greater sum. Sample Input:61 5 10 15 20 2552 4 5 9 15Sample Output :81arrow_forward
- Find a sorted matrix: The input is a real number x and a matrix A[1..n, 1..m] of nm real numbers, with each row A[i, 1..m] and column A[1..n, j] sorted. The objective is to locate the largest array entry A[i, j] that is less than or equal to x, or to report that all components of A are greater than x. Create and test an iterative method that analyses as few matrix elements as feasible. Be cautious if you assume a simple binary search would fix the problem. Find a sorted matrix: The input is a real number x and a matrix A[1..n, 1..m] of nm real numbers, with each row A[i, 1..m] and column A[1..n, j] sorted. The objective is to locate the largest array entry A[i, j] that is less than or equal to x, or to report that all components of A are greater than x. Create and test an iterative method that analyses as few matrix elements as feasible. Be cautious if you assume a simple binary search would fix the problem.arrow_forwardGiven an array, find the total number of inversions of it. If (i < j) and (A[i] > A[j]), then pair (i, j) is called an inversion of an array A. We need to count all such pairs in the array. For example, Input: A[] = [1, 9, 6, 4, 5] Output: The inversion count is 5 There are 5 inversions in the array: (9, 6), (9, 4), (9, 5), (6, 4), (6, 5)arrow_forwardGiven two arrays A and B of equal size N, the task is to find if given arrays are equal or not. Two arrays are said to be equal if both of them contain same set of elements, arrangements (or permutation) of elements may be different though.Note : If there are repetitions, then counts of repeated elements must also be same for two array to be equal. Example 1: Input: N = 5 A[] = {1,2,5,4,0} B[] = {2,4,5,0,1} Output: 1.arrow_forward
- Given an integer n and an array a of length n, your task is to apply the following mutation to a: Array a mutates into a new array b of length n. For each i from 0 to n - 1, b[i] = a[i - 1] + a[i] + a[i + 1]. If some element in the sum a[i - 1] + a[i] + a[i + 1] does not exist, it should be set to 0. For example, b[0] should be equal to 0 + a[0] + a[1].arrow_forwardGiven an array A containing N numbers. The problem is to find the minimum gcd among all non-decreasing subarrays. Note: Gcd of k number is the greatest number which divides all k numbers. Example 1: Input : arr[] = {1, 2, 3, 2, 4, 1, 7} Output : 1 Explanation : Some non decreasing subarrays are - {1, 2, 3} gcd = 1, {2, 4} gcd = 2, {1, 7} gcd = 1, minimum gcd = 1arrow_forwardGiven an integer array [A], efficiently find a descending sorted triplet such that: A[i]> A[i]> A[k] and 0 <=i<j <k <n, where n is the array size. For example, Input: A[] = {9, 1, 6, 7, 3, 4, 5) Output: Any one of the following triplets: (9, 7,5) (9, 7, 4) (9, 7, 3) (9, 6, 5) (9, 6, 4) (9, 6, 3) a) Design a brute-force algorithm to solve this problem complexity of your solution b) Design a more efficient algorithm to do the same task with less complexity and analyse the complexity of your solution. c) Develop a python code to implement your efficient algorithm. depend on the correctness of the code, indentation, comments, test-case] d) Prepare a brief report (250 words) comparing the two algorithmsarrow_forward
- Given an array A of n distinct positive integers and an integer B, find the number of unordered pairs of indices(i and j) such that i != j and that A[i] + A[j] > B using an algorithim in time nlogn. Prove that the algorithm you have is in time nlognarrow_forwardProblem 4: Divide and conquer.(i) Let A be an array containing n different integers. Elements in A are sorted inincreasing order. Given an integer x describe an algorithm which in time O(log n)finds an index i of x in A, that is, A[i] = x, where the length n of A is unknown(you may assume that the implementation of an array is such that for A[i], wherei > n, a special character ∞ is returned).(ii) Let A be an array containing n different integers. Elements in A are not necessarysorted. Given an integer x describe an algorithm which in time O(n log n) testswhether there exist two elements u and v in A such that their sum is equal to x, thatis, u + v = x. The length n of A is known.arrow_forwardFor the 8-queens problem, define a heuristic function, design a Best First Search algorithm in which the search process is guided by f(n) = g(n) + h(n), where g(n) is the depth of node n and h(n) is the heuristic function you define, and give the pseudo code description.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