An array A[1; : : : ; n] is said to have a majority element if more than half of
ID: 3527511 • Letter: A
Question
An array A[1; : : : ; n] is said to have a majority element if more than half of its entries are the same. Given an array, the task is to design an ecient algorithm to tell whether the array has a majority element, and, if so, to nd that element. The elements of the array are not necessarily from some ordered domain like the integers, and so there can be no comparisons of the form "is A[i] > A[j]"?. (Think of the array elements as GIF les, say.) However you can answer questions of the form "is A[i] = A[j]?" in constant time. Show how to solve this problem in O(n log n) time. (Hint: Split the array A into two arrays A1 and A2 of half the size. Does knowing the majority elements of A1 and A2 help you gure out the majority element of A? If so, you can use a divide-and-conquer approach.)
Explanation / Answer
www.thealgorithmist.com/showthread.php/7-Majority-element
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.