Boyer-Moore Majority Vote Algorithm.
The Boyer-Moore Majority Vote Algorithm determines if there in a list of votes is a candidate that holds more than half of the majority, and if so, finds this candidate. It does so in time linear in the length of the input list and constant memory. For a detailed description of the algorithm, see these papers:
Wim H. Hesselink, "The Boyer-Moore Majority Vote Algorithm", 2005;
Robert S. Boyer and J. Strother Moore, "MJRTY - A Fast Majority Vote Algorithm", 1982.
Majority
The Boyer-Moore Majority Vote Algorithm determines if there in a list of votes is a candidate that holds more than half of the majority, and if so, finds this candidate. It does so in time linear in the length of the input list and constant memory. For a detailed description of the algorithm, see these papers:
Wim H. Hesselink, "/The Boyer-Moore Majority Vote Algorithm/", 2005;
Robert S. Boyer and J. Strother Moore, "/MJRTY - A Fast Majority Vote Algorithm/", 1982.
Install
Assuming you have installed the Haskell Platform use cabal:
$ cabal install majority
Bugs
Comments, bug reports, and patches will be much appreciated:
License
This library is distributed under a CC0 1.0 Universal Public Domain Dedication: