多数投票算法

✍ dations ◷ 2025-11-28 22:03:46 #算法

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

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

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

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

相关

  • 大规模监控2001年–2007年–与英国政府通信总部合作项目非持续进行项目美国的大规模监控可以追溯到第一次世界大战的战时监控与审查制度(英语:Censorship_in_the_United_States#Wartime_
  • 团体治疗团体心理治疗(英文:group psychotherapy)顾名思义,团体(心理)治疗就是一群特定人们与治疗师透过团体的方式达成治疗目标的一种心理治疗。在美国最早有Joseph H. Pratt(英语:Joseph
  • 缓冲剂缓冲溶液(德语:Pufferlösung;英语:buffer solution;法语:solution tampon)指由“弱酸及其共轭碱之盐类”或“弱碱及其共轭酸之盐类”所组成的缓冲对配制的,能够在加入一定量其他物
  • 葡语系运动会葡语系运动会(葡语:Jogos da Lusofonia)是由葡语系奥林匹克委员会总会所举行以葡语为主的泛葡语地区运动会 ,参赛国家或地区是葡语系奥林匹克委员会总会之成员。参加第一届葡语
  • 空军指挥学院中国人民解放军空军指挥学院,简称空军指挥学院,位于北京市海淀区北四环西路88号,是培养空军中高级指挥军官的军事高等院校,隶属中国人民解放军空军。(2016年改革前称政治部主任)(20
  • 微软开发者网络微软开发者网络(英语:MSDN, Microsoft Developer Network)是早期微软公司在推广Win32 程序设计以及开发工具时,专门为开发人员所提供的一个服务,是使用微软技术开发软件或应用程
  • 假合恩角坐标:55°43′37″S 68°03′16″W / 55.72694°S 68.05444°W / -55.72694; -68.05444假合恩角(英语:False Cape Horn,西班牙语:Falso cabo de Hornos)是一个智利奥斯特岛南端的
  • 黄色魔术交响乐团黄种魔法大乐团(英语:Yellow Magic Orchestra,简称YMO),是日本音乐家坂本龙一、细野晴臣以及高桥幸宏所组建的前卫时髦电子合成乐团。该乐团在1980年代晚期和1990年代早期对迷幻
  • 现代物理评论现代物理评论(Reviews of Modern Physics),美国物理学会所属的物理学类刊物,创刊于1929年。杂志使用英语。ISSN号为0034-6861。该杂志第一期的第一篇论文是雷蒙德·伯奇(英语:Raym
  • 安东·法伊特安东·法伊特(德语:Anton Feith,1872年10月20日 - 1929年),管风琴建造师,从1902年开始领导帕德博恩的埃格特管风琴制造社(Eggert Orgelbau-Anstalt)直至去世。他和他的儿子安东·法