(a) Describe an efficient algorithm for finding all common elements in two sorte
ID: 3843182 • Letter: #
Question
(a) Describe an efficient algorithm for finding all common elements in two sorted lists of numbers. For example, for the lists 2, 5, 5, 5 and 2, 2, 3, 5, 5, 7, the output should be 2, 5, 5. As another example, for the lists 20, 30, 50, 70, 90, 100 and 10, 20, 30, 50, 80, the output should be 20, 30, 50. You should describe your basic idea in English clearly. [Hint: You can do this task in the linear time.]
(b) What is the minimum number of comparisons your algorithm makes if the lengths of the two lists are 5 and 7? Present sample lists of the minimum number of comparisons.
(c) What is the maximum number of comparisons your algorithm makes if the lengths of the two lists are 5 and 7? Present sample lists of the maximum number of comparisons.
Explanation / Answer
a. consider two input lists as array a[m] and b[n].
output array as out[]
int n=0;
for(int i=0;i<m;i++){
for(int j=0;j<n;j++){
if(a[i]==b[j]){
out[n++]= a[i];
}
}
}
print (out[]);
b. 7. Because we need to compare (check) all the elements from maximum elements list
c. 7. Because we need to compare (check) all the elements from maximum elements list
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.