多数投票算法

✍ dations ◷ 2024-09-20 17:42:57 #算法

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

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

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

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

相关

  • 好氧好氧生物(英语:Aerobic organism,或 aerobe),又译为好气生物、耗氧生物、需氧生物,是能在有氧的环境中生存及生长的生物。好氧生物利用氧的化学反应来分解糖及脂肪,以获得能量。几
  • 大血管大血管转位(Transposition of the great vessels)是一种因任何主要血管(大血管)在空间上安排异常的罕见先天性心脏缺损,这些异常现象主要出现在上腔静脉、下腔静脉、肺动脉、肺静
  • 破门律绝罚(拉丁语:Excommunicatio,字面上的意思是断绝来往),又译破门律,俗称开除教籍、驱逐出教、逐出教会等。现在该词主要被天主教所使用,是该教所有惩罚中最严厉的一种。据天主教教义
  • 世界宗教博物馆世界宗教博物馆,简称宗博,位于台湾新北市永和区,为全世界首座以世界宗教为主题的博物馆。宗博为灵鹫山无生道场的创始人心道师父首创及推动的。借由博物馆的典藏、展览、活动、
  • 三闯少林《三闯少林》(英文:Shaolin Intruders)是1983年邵氏出品,著名武术指导唐佳一生中仅有的三部导演作品之一,尔冬升、白彪、高飞、刘玉璞主演。武指出身的唐佳一向擅长多人打斗,本片
  • 亨丁顿舞蹈症亨廷顿舞蹈症(Huntington's Disease, HD)是一种遗传性疾病,会导致脑细胞死亡。早期症状往往是情绪或智力方面的轻微问题,接着是不协调和不稳定的步伐(英语:Gait)。随着疾病的进展,身
  • BG~身边警护人~《BG~身边警护人~》(日语:BG〜身辺警護人〜),2018年1月18日于朝日电视台周四晚间九点连续剧播出。主演为木村拓哉 。2020年3月宣布开拍第二季。岛崎章(木村拓哉饰)过去曾经是一位保
  • 联合国安全理事会改革联合国安全理事会改革,即指推动联合国安全理事会内部格局的改动属于联合国改革议题,简称为安理会改革。从1995年开始,成为世界各地热议的话题,引起了相当大的讨论和争议。安理会
  • 詹保罗·贝利尼 詹保罗·贝利尼( Gianpaolo Bellini )是一位意大利足球运动员。在场上司职后卫。他目前效力于意甲球队亚特兰大。贝利尼也是亚特兰大队的副队长。他的首场意甲比赛是在20
  • CSS框架CSS框架是预先准备好的软件框架,允许使用层叠样式表语言更容易,更符合标准的进行网页设计。大多数这些框架包含至少一个栅格设计(grid)。功能更强大的框架,还配备了更多的功能和