多数投票算法

✍ dations ◷ 2025-11-26 19:05:18 #算法

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

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

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

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

相关

  • 国会议事堂国会议事堂是日本国会所在地,位于东京都千代田区永田町一丁目,竣工于1936年(昭和11年),当时名为帝国议会议事堂。其左侧为众议院,右侧为参议院(旧贵族院)。建筑物呈左右对称,但是两院
  • E pluribus unum“合众为一”(拉丁语:E pluribus unum,英语:Out of Many, One)是美国国徽上的格言之一,出现在国徽的正面。该格言由皮埃尔-尤金·迪西默蒂埃(Pierre Eugene du Simitiere)提议,于1776
  • 邦和中央直辖区印度的一级行政区包括有28个邦、8个中央直辖区及德里国家首都辖区。28个邦每一个邦都有各自的民选政府,首都辖区与邦处相同的地位,而中央直辖区则由中央政府直接管辖。今日的
  • 梦幻西游Online《梦幻西游》是一款由中国网易公司自行开发并运营的网络游戏。梦幻西游以著名的章回小说《西游记》故事为背景,透过Q版的人物,试图营造出浪漫的网络游戏风格。《梦幻西游》目
  • 德国驻外机构列表德国驻外机构列表列出德意志联邦共和国在世界各地设置的外交代表机构,由大使馆(Botschaft)、总领事馆(Generalkonsulate)、领事馆(Konsulate)和常驻代表处(Ständige Vertretung)组成
  • 蓝牙技术联盟蓝牙技术联盟(英语:Bluetooth Special Interest Group,缩写为SIG),是一个以制定蓝牙规范,与推动蓝牙技术为宗旨的国际组织。它拥有蓝牙的商标,认证并授权制造厂商使用蓝牙技术与蓝
  • 榊原键吉榊原 键吉(さかきばら けんきち,文政13年11月5日(1830年12月19日) - 明治27年(1894年)9月11日)为江户幕府幕臣,剑术家。讳友善(ともよし)。幕末时,从男谷信友手中继承直心影流‧男谷派
  • 皮斯基尤赫山坐标:13°42′07″S 70°59′17″W / 13.70194°S 70.98806°W / -13.70194; -70.98806皮斯基尤赫山(Pisquioc),是秘鲁的山峰,位于该国东南部库斯科大区,由基斯皮坎奇省的马尔卡帕
  • 普罗布达岭坐标:78°07′30″S 85°56′00″W / 78.12500°S 85.93333°W / -78.12500; -85.93333普罗布达岭(英语:Probuda Ridge;保加利亚语:Пробуда)是南极洲的山岭,位于埃尔斯沃思
  • 非洲五霸非洲五霸(英文:Big Five game)指狮、非洲象、非洲水牛、豹和黑犀牛这五种非洲动物,这些动物成为非洲五霸是因为徒手捕捉它们的难度最高,而不是因为它们的体型庞大。纳米比亚、南