Question: Consider the algorithm foo, described in pseudocode below, and answer the following questions. Algorithm foo (A, n, B, m) Input: arrays of integers, A of

Consider the algorithm foo, described in pseudocode below, and answer the following questions. Algorithm foo (A, n, B, m) Input: arrays of integers, A of length n and B of length m output: true or false for i = 0 to n - 1 for j: = 0 to m-1 if A[i] == B[j] return true endif endfor endfor return false (a) Explain, in words, what algorithm foo does (i.e. give a high-level account of what is computed, not a blow-by-blow description of the code). (b) Provide an analysis of the run-time complexity of foo. You should express your analysis using big-0 notation and justify your answer. (c) Suppose that you know in advance that the integer arrays A and B are sorted in ascending order. Write a new algorithm baz that does the same as foo, but uses the fact that A and B are sorted to achieve better run-time complexity than foo. Present pseudocode for your algorithm and an argument that it has better run-time complexity than foo
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
