多数投票算法

✍ dations ◷ 2025-09-17 10:57:13 #算法

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

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

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

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

相关

  • 视光学眼科视光学(英文:Optometry),是光学和眼科的结合,运用光学仪器来检查眼睛的视觉功能,并采取相应的非手术或手术的手段来治疗病人的近视、远视、散光、老视和双眼视觉功能性异常等
  • 法国电视一台坐标:48°50′1.9″N 2°15′38.3″E / 48.833861°N 2.260639°E / 48.833861; 2.260639法国电视一台(TF1)是法国的一家民营电视台,隶属于TF1 Group。工业集团布依格对该媒体
  • 阿纳托利·叶夫根耶维奇·卡尔波夫阿纳托利·叶夫根耶维奇·卡尔波夫(俄语:Анатолий Евгеньевич Карпов,1951年5月23日-)是一位俄罗斯的国际象棋大师。 卡尔波夫生涯总共参加3,163场比赛,
  • span class=nowrapCo(NOsub3/sub)sub2/sub/span硝酸钴,化学式Co(NO3)2。硝酸钴是一种红色单斜柱状结晶,在潮湿空气中易潮解,易溶于水、乙醇、丙酮和乙酸甲酯,微溶于氨水,水溶液呈红色。55°C失去3个结晶水,再加热则失去1个结晶
  • 宗室鄂尔端鄂尔端,(?-?),字午桥,满洲正蓝旗人,为清朝政治人物。鄂尔端为嘉庆元年(1819年)己卯恩科第三甲进士。由通政使司副使迁詹事,官至泰寗镇总兵。
  • 美洲鸵鸟目美洲鸵鸟目(学名:Rheiformes)是鸟纲的一目,仅1科1属2种,即美洲鸵鸟和美洲小鸵。分布于美洲,为美洲最大的鸟类,体高约1.6米。群居。栖息于平原地带。
  • 古典学古典学 ,有时被称为古代研究或者古典文明研究,是人文学科的一个重要分支。古典学在语言学、文学、哲学、历史学、艺术、考古学的领域内研究古代地中海世界(公元前3000年青铜器
  • 2009年俄罗斯羽毛球大奖赛2009年俄罗斯羽毛球大奖赛为第2009年度的俄罗斯羽毛球公开赛,是2009年世界羽联大奖赛的其中一站。本届赛事于2009年9月24日至9月27日在俄罗斯滨海边疆区首府海参崴举行,总奖金
  • 穆罕默德-礼萨·哈塔米穆罕默德-礼萨·哈塔米(波斯语:محمدرضا خاتمی‎;1959年-),伊朗政治家、肾脏科医师。他是是伊朗前总统穆罕默德·哈塔米的弟弟。同时,他也是鲁霍拉·霍梅尼孙女扎赫拉·
  • PRODUCE 48每集尾段会展示各练习生的排名,而最后获选的12名成员将会组成一个团体,以该团体身份活动2年6个月。以下记录各参演练习生成员每集观众投票排名名次。AKB48+10! | ○AKBINGO!(AK