(a)
To argue that
(b)
To prove that
(c)
To argue that treating columnsort as an oblivious compare-exchange algorithm, even as it does not know the sorting method taken in odd steps.
(d)
To prove that after steps1-3, the array consists of some clean row of 0’s at the top, some clean rows of 1’s at the bottom and at most s dirty rows between them.
(e)
To prove that after step4, the array read in column-major order starts with a clean area of 0’s ends with a clean area of 1’s and has a dirty area of at most
(f)
To prove that steps 5-8 produce a fully sorted 0-1 output.
(g)
To find the value ofr that compared with s for column-sort to correctly sort when s does not divide r .
Want to see the full answer?
Check out a sample textbook solutionChapter 8 Solutions
Introduction to Algorithms
- ALGO2(A)// A is an integer array, index starting at 11:for i=1 to n-1 do2: for j=n to i+1 do3: if (A[j] < A[j-1]) then4: exchange A[j] with A[j-1] Which function best describes the worst-case running time behaviour of ALGO2 on an array of size n? Option 1) a*(n^2) + b*n +c, where a,b,c are constantsOption 2) a*n + b , where a and b are constantsOption 3) a * n * log(n) + b, where a,b are constantsOption 4) a*(n^3) + b*(n^2) + c*n + d, where a,b,c,d are constantsarrow_forwardModify the FindBestPlan(S) function to create a function FindBestPlan(S, O),where O is a desired sort order for S, and which considers interesting sortorders. A null order indicates that the order is not relevant. Hints: An algorithmA may give the desired order O; if not a sort operation may need to be added to get the desired order. If A is a merge-join, FindBestPlan must be invoked on the two inputs with the desired orders for the inputs.arrow_forwardSets are collections (1) without defined order and (2) not allowing duplication. Multisets, also called “bags” are collections without defined order but which permit duplication, i.e., more than one element. We define the function #(a B) to be the number of occurrences of the element a in the bag B. For example, #(1, [1 1 2 3 4 4 5]) is 2 and #(5, [1 1 2 3 4 4 5]) = 1. Bag union and intersection are defined in terms of #. bag-union: List × List -> ListThis function should take as arguments two lists representing bags and should return the list representing their bag-union. bag-intersection : List × List -> ListThis function should take as arguments two lists representing bags and should return the list representing their bag-intersection. Allowed functions. Your code must use only the following functions:1. define, let2. lambda3. cons, car, cdr, list, list?, append, empty?, length, equal?4. and, or, not5. if, cond6. +, -, /, * Racket code only please. Thank you!arrow_forward
- Sets are collections (1) without defined order and (2) not allowing duplication. Multisets, also called “bags” are collections without defined order but which permit duplication, i.e., more than one element. We define the function #(a B) to be the number of occurrences of the element a in the bag B. For example, #(1, [1 1 2 3 4 4 5]) is 2 and #(5, [1 1 2 3 4 4 5]) = 1. Bag union and intersection are defined in terms of #. bag-union: List × List -> List This function should take as arguments two lists representing bags and should return the list representing their bag-union. bag-intersection : List × List -> List This function should take as arguments two lists representing bags and should return the list representing their bag-intersection. Allowed functions. Your code must use only the following functions:1. define, let2. lambda, curry3. cons, car, cdr, list, list?, append, empty?, length, equal?4. and, or, not5. if, cond6. map, append-map, andmap, ormap, filter, apply7. +, -,…arrow_forwardSets are collections (1) without defined order and (2) not allowing duplication. Multisets, also called “bags” are collections without defined order but which permit duplication, i.e., more than one element. We define the function #(a B) to be the number of occurrences of the element a in the bag B. For example, #(1, [1 1 2 3 4 4 5]) is 2 and #(5, [1 1 2 3 4 4 5]) = 1. sum : List × List -> List This function should take as arguments two lists representing bags and should return the list representing the list resulting from simply appending the input lists together. Racket code only please. No loops Allowed: 1. define, let2. lambda, curry3. cons, car, cdr, list, list?, append, empty?, length, equal?4. and, or, not5. if, cond6. map, append-map, andmap, ormap, filter, apply7. +, -, /, * Thank you!arrow_forwardSets are collections (1) without defined order and (2) not allowing duplication. Multisets, also called “bags” are collections without defined order but which permit duplication, i.e., more than one element. We define the function #(a B) to be the number of occurrences of the element a in the bag B. For example, #(1, [1 1 2 3 4 4 5]) is 2 and #(5, [1 1 2 3 4 4 5]) = 1. Bag union and intersection are defined in terms of #. bag-union: List × List -> ListThis function should take as arguments two lists representing bags and should return the list representing their bag-union. bag-intersection : List × List -> ListThis function should take as arguments two lists representing bags and should return the list representing their bag-intersection. Allowed functions. Your code must use only the following functions:1. define, let2. lambda3. cons, car, cdr, list, list?, append, empty?, length, equal?4. and, or, not5. if, cond6. +, -, /, * No loops or use of hash Racket code only please.…arrow_forward
- Sets are collections (1) without defined order and (2) not allowing duplication. Multisets, also called “bags” are collections without defined order but which permit duplication, i.e., more than one element. We define the function #(a B) to be the number of occurrences of the element a in the bag B. For example, #(1, [1 1 2 3 4 4 5]) is 2 and #(5, [1 1 2 3 4 4 5]) = 1. sum : List × List -> ListThis function should take as arguments two lists representing bags and should return the list representing the list resulting from simply appending the input lists together. Racket code only please. No loops Allowed: 1. define, let2. lambda3. cons, car, cdr, list, list?, append, empty?, length, equal?4. and, or, not5. if, cond7. +, -, /, * Thank you!arrow_forwardPseudo Code shown in Figure Q1(a) is an algorithm for binary searching for an array with n number of elements. By applying this algorithm, show step by step approach on how to find number 11 in an array as depicted in Figure Q1(b). low + 0 high e n-1 while (low s high) do ix + (low + high) /2 if (t = Alix)) then return ix else if (t < A[ix]) then high e ix - 1 else low + ix + 1 return -1 Figure Ql(a) 2 4 6 9 11 12 | 25 [0] [1) [2] [3] (4) [5) [6] Figure Q1(b)arrow_forwardJava Selection Sort but make it read the data 64, 25, 12, 22, 11 from a file not an array // Java program for implementation of Selection Sort class SelectionSort { void sort(int arr[]) { int n = arr.length; // One by one move boundary of unsorted subarray for (int i = 0; i < n-1; i++) { // Find the minimum element in unsorted array int min_idx = i; for (int j = i+1; j < n; j++) if (arr[j] < arr[min_idx]) min_idx = j; // Swap the found minimum element with the first // element int temp = arr[min_idx]; arr[min_idx] = arr[i]; arr[i] = temp; } } // Prints the array void printArray(int arr[]) { int n = arr.length; for (int i=0; i<n; ++i) System.out.print(arr[i]+" "); System.out.println(); } // Driver code to test above public…arrow_forward
- Sparse matrix-vector multiplication in Python is similar to numpy.dot operation, however the provided @ operator is used. Let us consider multiplying a 5 by 5 sparse matrix with a 5 by 3 sparse matrix shown below. 01000 00010 10001 10000 01000 100 001 x 000 010 100 The Python code to implement multiplication of these two sparse matricesarrow_forwardBubble sort pseudocode: Bubblesort (A, n) // A is array, n items to sort For i = n-1 to 1 For j = 1 to i If A[j] < A[j+1] Swap (A[j], A[j+1]) (A) Determine the big-O running time (tight bound) of bubble sort in the left column. Show your derivation. This pseudocode assumes the array starts at index 1. Count comparisons as the critical operation. Your solution should count the exact number of comparisons as a function of n (number of items being sorted). In converting your formula for number of comparisons to a closed-form formula (as opposed to a summation formula), you do not need to show the derivation (such as writing the summation twice and dividing by two), though it is okay to do that. You do need to show the closed-form formula for exact number of comparisons, before simplifying it to a big-O representation. As a reference, study the stairs examples in the book. See figure 1.2, pg. 20. (B) Prove that f(n) = 1000n5 + 20000n2 + 32 is O(n6 ); Is this a tight upper bound? Why…arrow_forward1. (a) Write a recursive o function for performing binary search on an array of integer. Show how to use this function with sample call from main(). For an input array A={2,6,8,14, 18, 19,37,46, 77}, show each step of algorithm when searching for the value (i) 46 (ii) 17 in the array. (b) Give a structure for storing a active COVID cases in a state. It should consist of the state name (20 characters)and number of active COVID 19 cases (integers) in each state. Each of the 250 students of Btech 1st year (all sections). Inside main () create and array of structure type for holding this information. Write a function that sorts this array in ascending order of active COVID 19 cases, so that we can rank the states in order of the number of cases in each state of the country. (c) Write a function called input() that reads the content of 2-D array( A matrix) row by row. Write a second C function called mult() that takes two matrices and their dimensions as argument and computes. Their…arrow_forward
- 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