多数投票算法

✍ dations ◷ 2025-12-08 16:06:57 #算法

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

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

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

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

相关

  • 铠甲动物门铠甲动物门(学名:Loricifera)是动物界的一门,其下的物种生活在海洋中,这个门在1983年被莱因霍尔德发现。在2017年发现了寒武纪中期的铠甲动物的化石。它们的近亲是动吻动物门和鳃
  • 榨菜榨菜是一种常见的酱腌菜,最早出现于宋代,发祥地大约是当时的涪州(原四川省涪陵市,现重庆市涪陵区),后流传于浙江嘉兴、萧山,广东四会,湖南湘潭等地,榨菜可以作为炒菜中的配料,也可以直
  • 体外受精体外受精(英语:External fertilization)是一种精子与卵子在雌性生物体外结合产生配子的一种受精方式。在这种受精形式下,精子可利用在水中运动的能力,游向卵子并与其结合。以此方
  • 沈文庆沈文庆(1945年8月21日-),生于上海,中国实验核物理学家,中国科学院上海应用物理研究所研究员,国家自然科学基金委员会副主任,中国核物理学会理事长。1967年毕业于清华大学工程物理系
  • 基本工资中华民国的基本工资制度依据《劳动基准法》及《基本工资审议办法》,于每年第三季由劳动部邀请各界人士组成“基本工资审议委员会”进行审议,如会中决议调整,则将结果交由行政院
  • 张国葆张国葆(英语:Paul Kuoboug Chang),中华民国外交官。毕业于弗吉尼亚大学政府及外交所硕士,曾任行政院新闻局国内新闻处长、驻旧金山台北经济文化办事处新闻组长、驻洛杉矶台北经济
  • 磷酸二氢镁()2 磷酸二氢镁(Magnesium dihydrogen phosphate),化学式Mg(H2PO4)2·2H2O。通常带有两个水分子(二水合磷酸二氢镁)。磷酸二氢镁为白色结晶粉末。溶于水、酸,不溶于醇。加热时分解
  • 特兰西瓦尼亚公国特兰西瓦尼亚公国(德语:Fürstentum Siebenbürgen;匈牙利语:Erdélyi Fejedelemség;拉丁语:Principatus Transsilvaniae;罗马尼亚语:Principatul Transilvaniei 或 Principatul Ar
  • 唐志顺唐志顺(1975年5月25日-),北京市人,维权人士,现居北京市,为土地权利受侵害者、人权捍卫者进行维权。
  • 王以培王以培(1963年11月—),江苏南京人,诗人,作家,翻译家,中国人民大学副教授。 1983年-1990年先后就读于国际关系学院法语系,中国人民大学中文系读完本科以及研究生,1990年后毕业留校任教