Let A1n and B1n be two arrays sorted in increasing order Ass
Let A[1..n] and B[1..n] be two arrays sorted in increasing order. Assume that both A and B have no duplicate elements. Write the pseudocode of an algorithm which computes A – B. More specifically the algorithms prints the elements which are in A and are not in B. The running time of the algorithm must be O(n).
Solution
Difference(A, B, n):
    int i=1, j=1
   while i<=n and j <= n:
        //since curren element if B is greater than current element of A
        // so we sure that A[i] is not in B because elements are sorted in both array
        if A[i] < B[i] then
            print A[i] // difference element
            i = i + 1
        // A[i] migth be in B so forward j
        else if A[i] > B[j]
            j = j + 1
        else // both are equal, so skip both elements
            i = i + 1
            j = j + 1
   // check whether some elements are left in A, that will be the part if difference(A- B)
    while i <= n then
        print A[i]
        i = i + 1
Time complexity: O(n + n) = O(n)
![Let A[1..n] and B[1..n] be two arrays sorted in increasing order. Assume that both A and B have no duplicate elements. Write the pseudocode of an algorithm whic Let A[1..n] and B[1..n] be two arrays sorted in increasing order. Assume that both A and B have no duplicate elements. Write the pseudocode of an algorithm whic](/WebImages/43/let-a1n-and-b1n-be-two-arrays-sorted-in-increasing-order-ass-1134652-1761606999-0.webp)
