多数投票算法

✍ dations ◷ 2025-07-11 07:47:09 #算法

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

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

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

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

相关

  • 奇霉素奇霉素,通常以曲必星(Trobicin)为名贩售,系为一种用以治疗淋病感染症状的抗生素。投药方式是注射进肌肉以发挥药效。常见的副作用包含注射处疼痛、起疹子、恶心、发烧及出现睡
  • 犹他州犹他州(英语:State of Utah)是美国西部的一个州。于1896年1月4日成为美国第45个州。犹他州是美国13大的州、人口排行33和人口密度倒数第10名的州。犹他州行政区划一共有29个县
  • 苯甲腈苯甲腈是具有分子式C6H5CN的芳香化合物,简写为PhCN。苯甲腈是一种无色,有甜杏仁味的液体。它可以通过苯甲酰胺脱水或者通过氰化钠和溴苯反应制备。苯甲腈是一种有用的溶剂,可以
  • 踢睾踢睾(金蹴り ?)是一种恋物癖形式与色情的子类型,指的是一个男人的睾丸被另一人以踢击或用拳头攻击的方式虐待同时也达到快速射精的效果,施虐与受虐的双方可以是同性或异性关系
  • 经济地理经济地理学的研究聚焦于在不同尺度中经济活动的空间面向。在公司的经济决策上,其他因素前往作为市场的都市(或中心商业区)的距离扮演重要的角色。然而其他因素如易达性和原料充
  • 电车可持续发展主题可再生能源主题环境主题无轨电车是一种通常由架空接触网供电、电动机驱动,不依赖固定轨道行驶的道路公共交通工具。而在有些国家或地区(如日本),无轨电车则属于轨
  • 管鱿目管鱿目(学名:Teuthida),又名枪形目或鱿目,俗名鱿鱼、乌贼,是软体动物门头足纲鞘亚纲十腕总目的动物,包括约300多个物种。管鱿目是十腕总目及所有头足纲动物中最繁荣昌盛的一支,从体
  • 妖魅变成夜话妖魅变成夜话(妖魅変成夜話,ようみへんじょうやわ)是日本漫画家冈野玲子的作品。故事背景为中国唐代,内容叙述主角李成潭身边的各式灵异遭遇。一般认为本漫画作品为冈野另一代表
  • ClariSClariS(日语:クラリス)是日本的双人女子偶像组合,目前唱片公司为日本索尼音乐娱乐旗下的SACRA MUSIC,经纪公司为RunTime Music Entertainment Inc.(日语:ランタイムミュージックエ
  • 瓶头梅科瓶头梅科又名山醋李科或扁子木科,共有3属4种,全部生长在热带东非、非洲西南部和马达加斯加岛。本科植物为灌木或小乔木;单叶互生或对生,无托叶;花单性,雌雄异株,雌花单生,花瓣6-10,雄