多数投票算法

✍ dations ◷ 2025-11-27 17:23:59 #算法

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

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

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

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

相关

  • 薄酒莱酒博若莱葡萄酒(法文:Les Vins du Beaujolais,或常简称Beaujolais),是生产于法国勃艮第南部博若莱(Beaujolais)地区之葡萄酒。在多种博若莱葡萄酒之中,一种被称为博若莱新酒(Beaujolais
  • 挪威议会大议会(挪威语:Stortinget)是挪威的最高立法机构,设于首都奥斯陆国会大厦。议会实行一院制,由169名议员组成,每四年选举一次。议员分成12个常设委员会和4个程序委员会。虽然挪威几
  • 周期性周期性是定期或隔一定期间发生的量(在时间或空间),并且能用不同的上下文来印述:
  • 芒果冰芒果冰台湾的一种冰品,有别于传统的刨冰加入粉圆、芋圆、仙草等,它加入的是新鲜的芒果、炼乳以及芒果冰淇淋覆盖在挫冰或绵绵冰上面,有着清凉解暑的功用。许多地方的传统冰店都
  • 猜纳府猜纳府(泰语:จังหวัดชัยนาท,皇家转写:Changwat Chai Nat,泰语发音:)是泰国中部的一个府。猜纳府的名称之泰文意为“胜利府”,它是素可泰王国时代的前哨城府,因为每次与
  • 河南省人民政府1999年规定:印章直径5厘米,中央刊国徽,由国务院制发。中国共产党河南省委员会河南省人民代表大会常务委员会中国人民政治协商会议河南省委员会中国共产党河南省纪律检查委员会
  • 止点在往复活塞式发动机中,止点(dead center)是指活塞能达到的距离曲轴最近或者最远的位置。前者称为下止点(bottom dead center, BDC),后者称为上止点(top dead center, TDC)。更广
  • 奥斯陆峡湾坐标:59°21′N 10°35′E / 59.350°N 10.583°E / 59.350; 10.583奥斯陆峡湾(挪威语:Oslofjorden,挪威语发音:.mw-parser-output .IPA{font-family:"Charis SIL","Doulos SIL",
  • 武见太郎武见太郎(日语:武見 太郎/たけみ たろう ,1904年8月7日-1983年12月20日)为日本的医师,曾于1957年到1982年,担任日本医师会第11届会长长达25年、于1975年到1976年担任世界医学协会会
  • 丸韩日本银行股份丸韩日本银行股份有限公司,简称丸韩日本银行(英语:MARUHAN Japan Bank Plc,日语:マルハンジャパン銀行,高棉语:ម៉ារ៉ូហាន់ ធនាគារជប៉ុន),在2008年由丸韩股份有