多数投票算法

✍ dations ◷ 2025-11-21 07:16:10 #算法

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

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

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

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

相关

  • 牙龈脓肿牙齿脓肿(英文:dentoalveolar abscess)又称为牙根脓肿、或牙槽脓肿,是指与牙齿相关的脓包。最常见的牙齿脓肿类型为牙根尖周围脓肿(periapical abscess),其次是牙周脓肿(英语:periodo
  • 图像图像是人对视觉感知的物质再现。图像可以由光学设备获取,如照相机、镜子、望远镜及显微镜等;也可以人为创作,如手工绘画。图像可以记录、保存在纸质介质、胶片等等对光信号敏感
  • 多伊西爱德华·阿德尔伯特·多伊西(英语:Edward Adelbert Doisy,1893年11月13日-1986年10月23日)是一位美国生物化学家,由于发现维生素K以及其结构和生理作用,而与亨利克·达姆(Henrik Dam
  • 墨子墨子(前468年?-前376年),子姓,墨氏,名翟,春秋末战国初期宋国(今河南商丘)人,一说鲁国(今山东滕州木石镇)人,是中国战国时期著名思想家、政治家、科学家、军事家。提出了“非儒”、“兼爱”
  • 寿山岩观音寺坐标:25°00′13″N 121°21′58″E / 25.003538°N 121.366077°E / 25.003538; 121.366077寿山岩观音寺,俗称岭顶观音妈庙,是位于台湾桃园市龟山区岭顶里的观音寺,为市定古迹
  • 担架床担架床为运送伤者之救伤工具,由两支承杠支撑着一块帆布床身,承杠两端连接手柄和滑轮。一些担架床的承杠可以伸缩。床头有枕袋,可塞入柔软的物件。轮式担架也称平车、急诊推床、
  • 二元论 (精神哲学)二元论(dualism)是一个多义词。本体论上的二元论,与一元论对应,二元论认为世界由两种不可缺少且相互独立的元素组成,而一元论认为世界的本原是唯一的。本体论的一元论者认为无论
  • 维克托·梅耶维克托·梅耶(德语:Viktor Meyer,1848年9月8日-1897年8月8日),德国化学家,曾在有机化学和无机化学领域内作过重大贡献,他因发明测量蒸气密度的仪器——维克托·梅耶仪和发现一种杂环
  • 李昂轩李昂轩(1984年07月21日-),台湾职业魔术师,出生于台北,国立台北大学统计学系毕业,国立政治大学统计研究所毕业。因为深爱魔术而决定放弃高学历走上职业魔术师的道路,曾荣获杭州魔术大
  • Head Above WaterHead Above Water可指: