多数投票算法

✍ dations ◷ 2025-04-03 12:39:48 #算法

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

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

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

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

相关

  • 超音速燃烧冲压发动机超音速燃烧冲压发动机(英语:Supersonic combustion Ramjet,缩写为Scramjet,中文简称超燃冲压发动机)是一种进气流速超过音速的航空用冲压发动机,属进气式喷气发动机的一类。超音速
  • 长镜头长镜头(long take,或称为一镜到底、不中断镜头或长时间镜头)是一种将单个镜头一直拍很久、中途不切换镜头画面的拍摄手法。与它相反的是剪接式(蒙太奇)的拍摄方法。长镜头手法多
  • 参见亚科列表(英语:List of ant subfamilies)蚂蚁,古代又称马蚁或馬螘,蚂蚁是一种真社会性的昆虫,属于膜翅目 (Hymenoptera) 蚁科(Formicidae),膜翅目的其他昆虫有胡蜂、黄蜂等。最
  • 高卢蜜环菌异养腐生真菌高卢蜜环菌(学名:Armillaria gallica)是一种常见的蕈类,属于蜜环菌属,为生态上重要的腐生和寄生性真菌,可伺机性地腐蚀树木根茎。本种原产于北半球温带,包括欧洲、亚洲
  • 元老院行省在罗马帝国的的历史上,行省的划分一直在变化,在奥古斯都统治期间,他在凯撒的基础上,行省被划分为元老院行省和元首行省。由于帝国的疆域不断扩大,那些早期建立的行省,由于治理时间
  • 海兵团海兵团(日语:海兵団/かいへいだん Kaiheidan ?)是旧日本海军内由各镇守府设立的一种基础教育培训机构。主要负责为舰艇和海军机构提供补充兵员;对现役海军士官和新兵进行培训;负
  • 鼓虾鼓虾又名手枪虾,在饮食领域叫做嘎巴虾,颜色呈泥绿色,拥有一对一大一小的虾螯,身长约5厘米,但巨螯的长却达约2.5厘米。卡搭虾潜行于热带海洋的浅水区域,当卡搭虾猎食时会将它的巨螯
  • 砑头虫目砑头虫目(学名:Proetida),又名蚜头虫目,是三叶虫纲下的其中一目,出现在奥陶纪,是泥盆纪后期的大灭绝中唯一幸存的三叶虫类,最后于二叠纪末的大灭绝中消失。具有流线型的身体,但身上没
  • 山荷叶属山荷叶属(学名:)是小檗科下的一个属,为多年生草本植物。该属共有3种,分布于北美、日本和中国。根茎可入药。
  • 刘潭站坐标:31°37′43″N 120°17′59″E / 31.62855°N 120.29981°E / 31.62855; 120.299811号线 往堰桥方向:06:39 往长广溪方向:06:04 4号线 往映月湖公园方向:(未开通) 1号线 往堰