多数投票算法

✍ dations ◷ 2025-09-12 18:20:32 #算法

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

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

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

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

相关

  • 复苏《复苏》(Resurrection)是韩国音乐团体H.O.T.的第三张录音室专辑,1998年9月25日发行,成员从这张专辑开始加入自己创作的作品,以自杀和堕胎等社会议题为歌曲主题。1999年7月1日,在
  • 满足感满足(英语:contentment)是一种心理或情感上的满意状态,可能来自于在一个人的处境、身体和心灵中的安逸(英语:Inner peace)。通俗地说,满足可以是一种接受自己处境的状态,是一种更温和
  • 菜豆菜豆(学名:Phaseolus vulgaris)通称包括云藊豆、白肾豆、架豆、芸豆、刀豆、玉豆、去豆、四季豆等,一年生豆科植物,是餐桌上的常见蔬菜之一。油豆角(Phaseolus vulgaris var. chin
  • 古杰拉特古杰拉特是巴基斯坦的城市,由旁遮普省负责管辖,位于该国东部奇纳布河畔,距离首府拉合尔120公里,始建于公元前460年,主要农产品有稻米、小麦和甘蔗,2012年人口738,558。Gujrat
  • 橄榄枝请愿书橄榄枝请愿书(英语:Olive Branch Petition)是1775年7月5日由第二次大陆会议通过的文书,做为避免大不列颠王国和由大陆会议所代表的北美十三殖民地之间发生全面战争的最后努力。
  • G. Cuvier乔治·利奥波德·克雷蒂安·弗列德里克·达戈贝尔·居维叶男爵(法语:Baron Georges Léopold Chrétien Frédéric Dagobert Cuvier;1769年8月23日-1832年5月13日),简称乔治·居
  • 安托万·奥古斯丁·库尔诺安东尼·奥古斯丁·古诺(法语:Antoine Augustin Cournot,1801年8月28日-1877年3月11日),法国数学家、哲学家及经济学家,提出古诺模型。安东尼·古诺出生在上索恩省哥雷(英语:Gray, Ha
  • 各国伊斯兰教伊斯兰是仅次于基督教的世界第二大宗教。根据2011年发布的一项研究,伊斯兰教拥有18亿信徒,占据超过世界人口的23%。伊斯兰教在中东、萨赫勒、非洲之角、北非地区是主导宗教和
  • 希腊交通希腊交通在过去二十年有着明显的变化。希腊的基础设施完成了颠覆性的现代化,公路、铁路、城市交通和航空运输水平都有明显提升。但岛屿之间的主要交通方式仍然是轮渡。而希腊
  • 加德满都谷地坐标:27°42′14″N 85°18′30″E / 27.70389°N 85.30833°E / 27.70389; 85.30833加德满都谷地(尼泊尔语:काठमाडौं उपत्यका)位于尼泊尔,此处自古为尼泊尔的政