多数投票算法

✍ dations ◷ 2025-11-21 13:06:41 #算法

博耶-摩尔多数投票算法(英语:Boyer–Moore majority vote algorithm),中文常作多数投票算法、摩尔投票算法等,是一种用来寻找一组元素中占多数元素的常数空间级时间复杂度算法。这一算法由罗伯特·S·博耶(英语:Robert S. Boyer)和J·斯特罗瑟·摩尔(英语:J Strother Moore)在1981年发表,也是处理数据流(英语:streaming algorithm)的一种典型算法。

这一算法应用的问题原型是在集合中寻找可能存在的多数元素,这一元素在输入的序列重复出现并占到了序列元素的一半以上;在第一遍遍历之后应该再进行一个遍历以统计第一次算法遍历的结果出现次数,确定其是否为众数;如果一个序列中没有占到多数的元素,那么第一次的结果就可能是无效的随机元素。对于数据流而言,则不太可能在亚线性空间复杂度的情况下中就寻找到出现频率最高的元素;而对于序列,其元素的重复次数也有可能很低。

算法可以用伪代码如下表示:

即便输入序列没有多数元素,这一算法也会返回一个序列元素。然而如果能够进行第二轮遍历,检验返回元素的出现次数,就能判断返回元素是否为多数元素。因此算法需要两次遍历,亚线性空间算法无法通过一次遍历就得出输入中是否存在多数元素。

相关

  • 后述心电图(Electrocardiography、ECG 或者 EKG)是一种经胸腔的以时间为单位记录心脏的电生理活动,并通过皮肤上的电极捕捉并记录下来的诊疗技术。这是一种无创性的记录方式。Elect
  • 软脑膜软脑膜(pia mater、pia)是脑被膜的最内层,可以渗透水和少量溶质。呈网状的软脑膜是一层几乎覆盖了整个大脑表面的半透明薄膜,并且仅在脑室、脑室正中孔(英语:Median aperture)和外
  • 一级方程式一级方程式赛车(英语:Formula One,也叫Formula 1或者F1)是由国际汽车联盟举办的最高等级的赛车比赛。F1的正式名称为“国际汽车联合会世界一级方程式锦标赛”。名称中“方程式”
  • 景寿景寿(1829年-1889年),富察氏,满洲镶黄旗人,额驸,咸丰帝顾命八大臣之一。景寿为一等公、工部尚书博启图子。道光二十四(1844年)年,赐头品顶戴,在上书房读书,二十五年(1845年)尚道光帝第六女
  • 遇刺萨拉热窝事件(德语:Attentat von Sarajevo),又称弗朗茨·斐迪南大公及苏菲,霍恩贝格公爵夫人遇刺案(英语:Assassination of Archduke Franz Ferdinand of Austria and Sophie, Duch
  • 2004年夏季残奥会2004年夏季残奥会于2004年9月17日至28日在希腊雅典举行。为期11天。本届赛事共设19个大项,162个小项,共有来自136个国家和地区的3806名运动员参加本届赛事。1960年 罗马 1964
  • 危害人类罪危害人类罪或反人类罪,旧译违反人道罪,于2002年7月1日生效的《国际刑事法院罗马规约》将该罪名中文译名确定为危害人类罪。规约中的定义为“是指那些针对人性尊严极其严重的侵
  • 扶桑社扶桑社是日本富士产经集团旗下的出版社,1987年由产经出版等公司合并而成。该社是在东亚引起很大反弹的新历史教科书的出版单位。
  • 王铃王铃(1917年-1994年),江苏南通人,中国历史学家。毕业于国立中央大学,曾任澳洲国立大学(ANU)历史教授,因协助李约瑟教授编纂《中国科学技术史》而闻名。1962年中印边境战争爆发时,王铃
  • Action Bii《Action Bii》是韩裔台湾歌手Bii(毕书尽)的第3张专辑,是他自2013年《Come back to Bii》后的相隔18月的作品。这大碟在2014年12月1日开始预购,并在12月19日推出。除特别注明外,