多数投票算法

✍ dations ◷ 2025-12-01 02:11:03 #算法

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

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

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

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

相关

  • 领土扩张美利坚殖民地,又称美国海外属地或美国属地,是指美国除了联邦州与华盛顿特区以外的所有地,它们之间与美国的关系各有不同。阿拉斯加与夏威夷最终成为美国联邦的一州。而现在的美
  • 年,或称地球年、太阳年,是与地球在轨道上绕太阳公转有关事件再现之间的时间单位。将之扩展,可以适用于任何一颗行星:例如,一“火星年”是火星自己完整的运行绕太阳轨道一圈的时间
  • 假牙假牙或称义齿是一种替代牙齿的辅助装置。一般用于代替由于意外事故、天生缺失或牙齿老化脱落等而无法正常使用的牙齿。假牙的制作到十八世纪都没有大进步,主要是材质方面没有
  • 夏威夷夏威夷州(夏威夷语:Mokuʻāina o Hawaiʻi,英语:State of Hawaii),目前由美国控制,是美国的州份之一,由夏威夷群岛组成,距离美国本土3,700公里,属于太平洋沿岸地区;所属的大洲则是大洋
  • 上汤高汤是用作烹调的清汤。一般用肉类,加入适量调味料(中国菜加葱、姜、料酒;西餐加香叶、胡椒、香芹、百里香等)、蔬菜等,在水中小火慢炖几个小时,撇去泡沫和表面油脂而成。粤菜中会
  • 引脚引脚,或称接脚或管脚,是指电子元件的末端露出部分(导线或焊接垫)。用于连接其他元件或进行探测和分析。如CPU等元件微小的引脚也称为针脚,通常下弯而成“丁”字形,便于同面包板等
  • 姻亲姻亲指基于婚姻关系而生之亲属型态,一方配偶与他方配偶之亲属间,因双方缔结婚姻后,成为相互具法律上亲属关系的情况。《中华民国民法》第969条规定,包括配偶的血亲、血亲的配偶
  • 市占率市场占有率,也可称作市场份额,是企业战略管理和营销学中的一个重要概念。其定义为某一时间,某一个公司的产品(或某一种产品),在同类产品市场销售中占的比例或百分比。市场占有率可
  • 浊舌唇擦音浊舌唇擦音是一种辅音,用于一些口语中,国际音标符号为⟨ð̼⟩或⟨β̺⟩。当符号成对出现时,左边的是清音,右边的是浊音。阴影区域表示被认为是不可能的发音。表内成对的元音分
  • 安南耶谷安南耶谷(马来语:Adnan bin Haji Yaakob,1950年4月18日-),第13和14任彭亨州务大臣(1999年-2018年)、马来西亚巫统党员。安南耶谷于1969年在中学毕业后成为教师。1972年他在马来亚大学