The Misra-Gries heavy hitters algorithm finds the values that occur more than n divided by k times in a bag of n elements, for an integer k of at least 2. Misra and Gries defined the heavy-hitters problem, though they did not use that term, and described the first algorithm for it in the paper Finding repeated elements. The algorithm extends the Boyer-Moore majority finding algorithm. It makes two passes over the data while storing at most k values and their counts. The first pass builds a k-reduced bag, produced by repeatedly deleting k distinct elements, which must contain every heavy hitter because a k-reduced bag holds fewer than k different values; the second pass counts the surviving candidates and keeps those that really exceed n divided by k. With an AVL tree the running time is O(n log k), and the storage for O(k) value and counter pairs is O(k (log n + log m)) bits. It is one of the earliest streaming algorithms, and its first-pass output is called a Misra-Gries summary.
Connections
Credited To
Source Misra-Gries heavy hitters algorithm (Wikipedia)
Source Misra-Gries heavy hitters algorithm (Wikipedia)
In Field
Source Misra-Gries heavy hitters algorithm (Wikipedia)
Invented
Source Misra-Gries heavy hitters algorithm (Wikipedia)
Source Misra-Gries heavy hitters algorithm (Wikipedia)
Sources
Misra-Gries heavy hitters algorithm (Wikipedia)
In Group: Sequential and Unstructured Search Algorithms, Lead
Misra-Gries is one of the earliest streaming algorithms
In Field: Algorithms and Complexity Theory, Lead
Misra-Gries is one of the earliest streaming algorithms
Credited To: Jayadev Misra, Lead
Misra and Gries defined the heavy-hitters problem
Credited To: David Gries, Lead
Misra and Gries defined the heavy-hitters problem
Invented: Jayadev Misra, Lead
described the first algorithm
Invented: David Gries, Lead
described the first algorithm
View the SourceReader Challenges (0)
No disputes yet. Spotted an error or a better source? Open the first one.
Sign in to dispute this or suggest a correction.