多数投票算法

✍ dations ◷ 2025-12-06 09:40:09 #算法

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

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

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

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

相关

  • 非何杰金氏淋巴瘤非霍奇金氏淋巴瘤(Non-Hodgkin lymphoma)简称NHL,是指霍奇金氏淋巴瘤以外的其他淋巴瘤。其症状包括淋巴结肿大(英语:Lymphadenopathy)、发烧、盗汗、体重降轻、容易疲倦。其他症状
  • 老虎伍兹埃尔德里克·“泰格”·伍兹(英语:Eldrick "Tiger" Woods,1975年12月30日-),美国高尔夫球手,自1997年首次登上世界排名第一以来,他在位周数超过650周,是高球史上纪录。因为在英文中他
  • 半深海带半深海带(英语:bathyal zone或bathypelagic)由希腊语:βαθύς(bathýs)衍生而来,这里也被称作午夜区(midnight zone)。这一区域位于海平面下1,000米(3,300英尺)至4,000米(13,000英尺)
  • 北非战役英国陆军摄影师Len Chetwyn中士 摄于1942年10月24日。第二次阿拉曼战役,是第二次世界大战中北非战场的转折点。这次战役从1942年10月23日一直持续到11月3日。伯纳德·劳·蒙
  • 宗教社会主义宗教社会主义是指在宗教价值观念的基础上实行社会主义的一种思想。当社会主义产生之时,几个主要宗教在其教旨中均发现包含社会主义原则、理念,或与之相同、相近。因此,宗教社会
  • 毛鼻鲇科毛鼻鲇科(学名:)是辐鳍鱼纲鲇形目的其中一科。来自希腊语thrix(毛,发)和mycterose(鼻子)。毛鼻鲇科下分41个属,如下:
  • 14K14K可以指:
  • 佐德柯柯佐德柯柯(缅甸语:ဇော်ထက်ကိုကို,1981年-) 是一位缅甸社会活动家。他由于参加了88一代学生小组而遭到监禁,刑期11年,对他的拘禁遭到包括大赦国际在内的多个人权组织
  • 加利西亚之声加利西亚之声(西班牙语:)是在西班牙加利西亚自治区发行量最高的日报。它的主要语言为西班牙语,在一些文化专栏也有用到加利西亚语。2000年5月17日,该报开始在互联网上提供电子版
  • 阿米哈伊·马扎尔阿米哈伊·马扎尔(英语:Amihai Mazar,希伯来语:.mw-parser-output .script-hebrew,.mw-parser-output .script-Hebr{font-size:1.15em;font-family:"Ezra SIL","Ezra SIL SR","K