Question: Question 1 /* * Find the first element in A that is * not also in B. */ 01: int firstNotIn (int* A, int* B,
Question 1
/* * Find the first element in A that is * not also in B. */ 01: int firstNotIn (int* A, int* B, int nA, int nB) 02: { 03: int pos = 0; 04: bool found = false; 05: while (pos < nA && !found) 06: { 07: if (find(B, B+nB, A[pos]) != B+nB) 08: found = true; 09: else 10: ++pos; 11: } 12: if (!found) 13: { 14: pos = -1; 15: } 16: return pos; 17: } According to the copy-and-paste technique, how would you annotate line 5 of this function by the time you had determined the complexity of the entire loop?
question2 /* * How many elements in the array A are * also in the array B? Assume B is sorted. */ 01: int overlap (int* A, int* B, int N) 02: { 03: int count = 0; 04: for (int i = 0; i < N; ++i) 05: { 06: int x = A[i]; 07: int pos = lower_bound (B, B+N, x) - B; 08: if (pos < 0 && B[pos] == x) 09: { 10: ++count; 11: } 12: } 13: return count; 14: } According to the copy-and-paste technique, how would you annotate line 8 of this function by the time you had determined the complexity of lines 8-11?
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
