多数投票算法

✍ dations ◷ 2025-04-04 09:47:33 #算法

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

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

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

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

相关

  • 大灾难大灾难是《新约圣经》中的《马太福音》第24章第21节(“因为那时必有大灾难”)等一些段落中提到的一个事件。根据基督教末世论的未来派(Futurism)观点,大灾难是一个相对较短的时期
  • 澎湖群岛澎湖群岛,亦称澎湖列岛,是位于台湾海峡上的一组群岛,东距台湾本岛约50公里,西离中国大陆约140公里,由90个大小岛屿组成,总面积约为128平方公里,全境均隶属中华民国台湾省澎湖县管辖
  • 天之蕉子《天之蕉子》,2019年三立台湾台周五台湾好戏系列之第十三部曲,原剧名为《金蕉岁月》。剧本历时10个月完成,2019年2月20日开镜,3月9日正式开拍,8月8日全剧杀青。三立台湾台于2019
  • 附属医疗及社会福利机构管理会卫生福利部附属医疗及社会福利机构管理会(简称医管会或医福会)是中华民国卫生福利部为整合部立医院之效能而成立的任务编组单位。医疗机构社会福利机构卫生福利部双和医院卫生
  • 皮质脊髓束皮层脊髓束(英语:Corticospinal tract,又称皮质脊髓路径、皮质脊髓束、皮质脊髓径),又称锥状束(pyramidal tract),为一种大脑皮质及脊髓间大量聚集之轴突集结。皮质脊髓束大部分由运
  • Aconitase结构 / ECOD顺乌头酸酶(英语:Aconitase,简称为乌头酸酶,EC 4.2.1.3)是一种在三羧酸循环中催化柠檬酸通过顺乌头酸中间步骤立体专一性可逆异构化为异柠檬酸的酶,这是一个非氧化还原
  • 折射定律当光波从一种介质传播到另一种具有不同折射率的介质时,会发生折射现象,其入射角与折射角之间的关系,可以用斯涅尔定律(Snell's Law)来描述。斯涅尔定律是因荷兰物理学家威理博·
  • 菲律宾民用航空局菲律宾民用航空局 (CAAP; 菲律宾语:Pangasiwaan ng Abyasyon Sibil ng Pilipinas)是 菲律宾 的 国家航空管理局 ,负责执行民用航空法规,以确保安全、经济和有效的民航运行。 该
  • 崀山坐标:26°23′28″N 110°45′07″E / 26.39111°N 110.75194°E / 26.39111; 110.75194崀山位于中国湖南省新宁县。是国家重点风景名胜区。建有崀山国家地质公园。2010年,崀
  • 2018年土耳其以下为2018年在土耳其发生的事件。