多数投票算法

✍ dations ◷ 2025-04-10 14:24:36 #算法

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

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

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

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

相关

  • 磺胺对甲氧嘧啶磺胺对甲氧嘧啶是一种长效磺胺类抗菌药物,其INN名称是“Sulfametoxydiazine”。该药物可用于治疗泌尿道感染与麻风病等病症。该药物在血液中的半衰期尚不明确。医学导航:病菌
  • 男丁格尔 (大爱剧场)《男丁格尔》是一部描写李彦范师兄真实人生的电视剧,共10集,于2015年5月4日至2015年5月15日在大爱电视《长情剧展》时段(台湾时间星期一至星期五晚上22:00)播放。本段时间均以二
  • 奥勒留马可·奥勒留(拉丁语:Marcus Aurelius,121年4月26日-180年3月17日),全名为马可·奥勒留·安敦宁·奥古斯都(拉丁语:Marcus Aurelius Antoninus Augustus)。是罗马帝国五贤帝时代最后
  • 巴什基尔期巴什基尔期(英语:Bashkirian)是石炭纪的第四个时期,年代大约位于323.2–315.2百万年前。
  • 阿登布鲁克医院阿登布鲁克医院(Addenbrooke's Hospital)是位于英国剑桥的世界知名教学医院,与剑桥大学具有很强的隶属关系。阿登布鲁克医院在剑桥生物医学校区。该医院是根据剑桥大学圣凯瑟琳
  • 鄂尔多斯沙漠鄂尔多斯沙漠是一片在中华人民共和国内蒙古自治区南部的鄂尔多斯高原上的荒漠和干草原地带。此地土壤由黏土和沙组成,因此并不适宜耕种。其总面积约90,650平方公里,可细分为两
  • 氢硫化铵氢硫化铵,又名硫化氢铵或硫氢化铵,是一种无机化合物,化学式为NH4HS。氢硫化铵可由硫化氢通入浓氨水至饱和制得。氢硫化铵化学性质不稳定,易分解。
  • 共产主义之声组织共产主义之声组织(英语:Communist Voice Organization)是美国的一个共产主义组织。该组织的主要活动是出版《共产主义之声》杂志。该组织还出版《底特律工人之声》和“革命文学
  • 胡盈祯《犀利人妻》胡盈祯(1984年12月9日-),艺名小祯,台湾女艺人、模特儿、演员、主持人。父亲是台湾知名艺人胡瓜,承袭父亲踏上演艺之路,成为通告艺人,也参与戏剧演出并主持各类节目。戏
  • 流觞曲水流觞曲水,是源于中国的一种游戏,后来流传至日本、朝鲜半岛。夏历的三月人们举行祓禊仪式之后,大家坐在河渠两旁,在上流放置酒杯,酒杯顺流而下,停在谁的面前,谁就取杯饮酒。这种游戏