多数投票算法

✍ dations ◷ 2025-11-25 01:23:55 #算法

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

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

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

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

相关

  • 乳化乳浊液(英语:emulsion)也称为“乳液”、“乳剂”、“乳状液”或“乳化液”,是指一相液体以微小液滴状态分散于另一相液体中形成的非均相液体分散体系。由油和水混合组成的乳浊液
  • 阿罕布拉阿罕布拉 (Alhambra),又译阿尔汉布拉,是美国加利福尼亚州洛杉矶县的一座城市,位于圣盖博谷地区西部,洛杉矶市中心以东7英里(11公里)。阿罕布拉于1903年7月11日建市,2010年人口83,089
  • 赫伯特山脉坐标:85°22′S 165°30′W / 85.367°S 165.500°W / -85.367; -165.500赫伯特山脉(英语:Herbert Range)是南极洲的山脉,属于毛德王后山脉的一部分,从南极高源延伸至罗斯冰架,处于
  • 饮马河饮马河是中华人民共和国吉林省中部的一条河流,为第二松花江左岸支流。饮马河在金代称移里闵河,元代称亦迷河,明代称一迷河、伊迷河、额勒敏河,清代称伊勒门河、驿马河。“额勒敏
  • 法尔斯省法尔斯省(波斯语:فارس)是伊朗三十一个省份之一。面积122,608平方公里,在所有省份中排行第四。人口约4,323,000(2004年数据);首府位于设拉子市。法尔斯省位于伊朗南部;并与以下多
  • 中俄伊犁塔尔巴哈台通商章程《中俄伊犁塔尔巴哈台通商章程》是咸丰元年(1851年8月6日)清政府与俄罗斯帝国签订的不平等条约。通过该约,沙俄获得了在伊犁、塔尔巴哈台两地区进行商业贸易。主要有贸易免税、
  • 爆丸5星域争霸)是一部由加拿大、日本和美国合制的电视动画,于2019年6月起在台湾播放。不同的是,第一至第四季原为Sega Toys制作,由本作开始改为Takara Tomy制作,以全新故事为题材。本作与前四
  • 寺川奈津美寺川奈津美(日语:寺川 奈津美/てらかわ なつみ,1983年2月8日-),是一位日本气象预报员,任职于富士电视台,在直撃LIVE グッディ!(日语:直撃LIVE グッディ!)播报。出身日本山口县下关市。大
  • 米兰·加基奇米兰·加基奇(塞尔维亚语:Milan Gajić;1996年1月28日-)是一位塞尔维亚足球运动员。在场上的位置是中场。他现在效力于塞尔维亚足球超级联赛球队OFK贝尔格莱德足球俱乐部。他也代
  • 塞曼-多普勒成像天文物理学中的塞曼-多普勒成像(Zeeman–Doppler imaging)是一种绘制恒星磁场图的断层摄影术方式。本方法是利用磁场对形成于大气中的发射或吸收谱线极化的能力(塞曼效应)。恒星