多数投票算法

✍ dations ◷ 2025-12-08 07:36:47 #算法

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

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

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

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

相关

  • 尚柏朗滤器尚柏朗过滤器,或称巴斯德-尚柏朗过滤器,是由查理斯·尚柏朗于1884年发明的陶瓷制滤水器。其原理和伯克菲尔德过滤器(英语:Berkefeld filter)类似。该过滤器由陶瓷制的内外管构成
  • 龙湖区23°22′29″N 116°42′43″E / 23.37472°N 116.71194°E / 23.37472; 116.71194坐标:23°22′29″N 116°42′43″E / 23.37472°N 116.71194°E / 23.37472; 116.71194龙
  • 特拉华河特拉华河是美国大西洋流域的一条河流。全长579公里。流域面积35,297平方公里。发源于纽约州的卡兹奇山,向南流经宾夕法尼亚州、新泽西州、特拉华州,最后经过特拉华湾流入大西
  • 氨基钠氨基钠是一个无机化合物,化学式为NaNH2。室温下纯品为白色固体,试剂常带金属铁而呈灰色。氨基钠与水强烈反应,是有机合成中常用的强碱。氨基钠可由钠与氨气反应, 或硝酸铁催化下
  • 山姆·休斯敦国家森林山姆·休斯敦国家森林(英语:Sam Houston National Forest)是德克萨斯州的四座国家森林之一,位于休斯顿以北50英里(80千米)处。山姆·休斯敦国家森林与其他完全位于德克萨斯州境内
  • 单壳藻目单壳藻目为藻类植物之一植物目。该植物于植物分类表上,归于硅藻门(Bacillariophyta)同纲者尚有无壳藻目、短壳藻目、双壳藻目、管壳藻目等等植物目。
  • 巴基斯坦穆斯林联盟(谢里夫派)巴基斯坦政府与政治 系列条目宪法巴基斯坦穆斯林联盟(乌尔都语:(پاکستان مسلم لیگ (ن‎‎)是巴基斯坦中间偏右政党,总部位于伊斯兰堡,现任领导人为纳瓦兹·谢里夫
  • 皮埃尔·让森皮埃尔·朱尔·塞萨尔·让森(法语:Pierre Jules César Janssen,1824年2月22日-1907年12月23日),法国天文学家,氦元素的发现者。1868年,让森发明在没有日食的情况下观测日珥的方法。
  • 齐博家族齐博家族(意大利语:Cybo 或 Cibo),是一个意大利贵族世家。家族较著名的成员是教宗英诺森八世及其孙子罗伦佐·齐博(英语:Lorenzo Cybo),罗伦佐透过与马萨与卡拉拉公国的女继承人瑞
  • 苹果 (消歧义)苹果(英语:Apple),是一种水果,也可以指: