多数投票算法

✍ dations ◷ 2025-12-04 17:21:45 #算法

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

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

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

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

相关

  • 曼吉斯套州曼格斯套州(哈萨克语:Маңғыстау облысы)是哈萨克斯坦的一个州份,西临里海,东邻乌兹别克,南邻土库曼。面积165,600平方公里。人口373,400(2006年资料)。首府阿克套。1
  • 嗅觉系统嗅觉系统是指感受气味的感受系统。大部分哺乳类及爬虫类动物的嗅觉系统由主要嗅觉系统(main olfactory system)及辅助嗅觉系统(accessory olfactory system)组成,前者负责感应气
  • 安曼安曼(阿拉伯语:عمان‎,转写:Amman)是西亚国家约旦的首都,位于该国北部,西侧是阿吉伦山地,广义人口约280万人,在历史上安曼曾经由许多不同民族统治,然而其却是今日中东地区少数伊斯
  • 文斯·布兰德文斯·德沃·布兰德(Vance DeVoe Brand,1931年5月9日-)曾是一位美国国家航空航天局的宇航员,执行过阿波罗-联盟测试计划、STS-5、STS-41-B以及STS-35任务。
  • 灶头灶、炉灶、厨灶或灶头是一种固定的烹饪的设施,透过加热炊具来达到将食物变熟的目的。中文语境中有时也以灶来指窑,例如佛山的南风古灶。早期的灶多是粘土制灶的,用柴火来加热。
  • Hinabita《Hinabita》(英:HinaBitter♪、日:ひなビタ♪)是KONAMI公司的虚拟偶像企划(正式名称:Web联动型音乐配信企画)。本是企划监修是由〈Zektbach叙事诗〉的音乐制作人TOMOSUKE(舟木
  • 乌马里扎尔 (小区)乌马里扎尔(葡萄牙语:Umarizal)是巴西东北部北里约格朗德州西波蒂瓜尔中区的一个小区。乌马里扎尔下辖以下的市镇:
  • APRIL (女子团体)APRIL(韩语:에이프릴)是韩国DSP媒体于2015年推出的六人女子团体,初始成员包括昭珉、采媛、玹珠、娜恩、睿娜、真率。经成员变动后,现任成员有彩暻、采媛、娜恩、睿娜、Rachel、真
  • 勃艮第语勃艮第语是公元5世纪前高卢东南部勃艮第人使用的一种已灭绝语言,属东日耳曼语支。今人对勃艮第语所知甚少,只有几个人名留了下来。该地区的现代语言中有些词似乎源自古勃艮第
  • 埃里克 (罗森堡伯爵)埃里克·腓特烈·克里斯蒂安·亚历山大(丹麦语:Erik af Rosenborg;1890年11月8日-1950年9月10日),是旧丹麦皇室,他的祖父是克里斯蒂安九世。丹麦王子瓦尔德马的第三子,与Lois France