多数投票算法

✍ dations ◷ 2025-11-23 06:18:22 #算法

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

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

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

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

相关

  • 肌钙蛋白肌钙蛋白(英语:Troponin)是由三种调节蛋白(肌钙蛋白C、肌钙蛋白I(英语:troponin I)和肌钙蛋白T(英语:troponin T))组成的复合物,是骨骼肌和心肌(不包括平滑肌)肌肉收缩不可或缺的组分。
  • 干红葡萄酒干红葡萄酒(le vin rouge),“干”是从香槟酒酿造中借用的一个词,即不添加任何水、香料、酒精等添加剂,直接用纯葡萄汁酿造的酒。红葡萄榨汁后,不过滤葡萄皮核,葡萄汁酿成酒后再过
  • 茧是昆虫在蛹期时,蛹外的椭圆形丝质构造。通常茧在鳞翅目中只有蛾类才拥有,因为蛾类造蛹时都在角落或者地底下,而蝶类则通常在叶背或树枝上,以一条丝将自己的腰部固定住,之后就蜕
  • 爱尔兰猎狼犬爱尔兰猎狼犬(爱尔兰语:Cú Faoil,爱尔兰语发音:,英语:Irish Wolfhound)源自爱尔兰的犬种,驯养做为打猎用。名字起源于驯养的目的(猎狼)而不是外表。 这种狗是世界上最高的狗。这种狗
  • 盾皮鱼类盾皮鱼纲(学名:Placodermi)是一类已经灭绝的鱼类,出现于4.3亿年前的志留纪中期,灭绝于3.59亿年前的泥盆纪末期,共繁衍了近7000万年。盾皮鱼类是脊椎动物,是最原始的有颌鱼类,头部和
  • 沙利文县沙利文县(Sullivan County, New Hampshire)是美国新罕布什尔州西南部的一个县,西邻佛蒙特州。面积1,429平方公里。根据美国2000年人口普查,共有人口40,458。县治纽波特。成立于1
  • 事件 (概率论)在概率论中,随机事件(或简称事件)指的是一个被赋与几率的事物集合,也就是样本空间中的一个子集。简单来说,在一次随机试验中,某个特定事件可能出现也有可能不出现;但当试验次数增多
  • 欧菲亚·汉巴祖恩欧菲亚·汉巴祖恩(英语:Ofelya Karapeti Hambardzumyan、亚美尼亚语:Օֆելյա Կարապետի Համբարձումյան,1925年1月9日 – 2016年6月13日)是亚美尼亚的民
  • 玛丽亚·卡拉斯玛丽亚·卡拉斯(英文:Maria Callas;希腊文:Μαρία Άννα Σοφία Καικιλία Καλογεροπούλου,1923年12月2日-1977年9月16日),美国籍希腊女高音歌唱家
  • 陈国瑱陈国瑱(越南语:Trần Quốc Chẩn/.mw-parser-output .han-nom{font-family:"Nom Na Tong","Han-Nom Gothic","Han-Nom Ming","HAN NOM A","HAN NOM B","Ming-Lt-HKSCS-UNI-H",