多数投票算法

✍ dations ◷ 2025-08-02 14:04:58 #算法

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

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

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

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

相关

  • 意大利半岛意大利半岛(意大利语:Penisola italiana),又名亚平宁半岛 (Apennines)(意大利语:Penisola appenninica)是南欧洲三大半岛之一,位居三大半岛的中间,在地中海之北。亚平宁半岛北起波河
  • 托马斯·切赫托马斯·罗伯特·切赫(英语:Thomas Robert Cech,1947年12月8日-),美国生物化学家,1989年诺贝尔化学奖获得者。1901年:范托夫 | 1902年:费歇尔 | 1903年:阿伦尼乌斯 | 1904年:拉姆齐 | 1
  • 格物致知四配颜回 · 孟子 · 曾参 · 孔伋日本藤原惺窝 · 林罗山 · 室鸠巢新井白石 · 雨森芳洲朝鲜薛聪 · 权近 · 吉再 · 安珦 · 李穑李滉 · 王仁 · 李齐贤 
  • SHGb02+14a无线电信号SHGb02+14a无线电信号是搜寻地外文明计划(SETI)截获的一个疑似外星信号,由SETI@home于2003年3月发现,并于2004年9月1日公布。该信号总共被观察到三次,信号的频率为1420兆赫兹,这一
  • 当代舞当代舞(Contemporary Dance)是一种在二十世纪中叶发展而来的舞蹈表演类型。它已经发展成为全世界专业舞者所主要学习的舞种之一,并在美国和欧洲尤其受欢迎。尽管始于和借鉴于古
  • 有机磷化合物有机磷化合物指含有碳-磷键的有机化合物,它们主要用于虫害控制以作为长期存在于环境中的氯化烃、滴滴涕等替代物。研究有机磷化合物性质和反应的有机化学分支称作有机磷化学
  • 关庙服务区关庙服务区位于台湾台南市关庙区布袋里与龙崎区楠坑里交界,里程为福尔摩沙高速公路363.7公里,2001年1月8日成立。主线两侧区分别是南下与北上2部分,设有横跨南北两区之间的行人
  • 阿西乌特青霉阿西乌特青霉(学名:)为发菌科青霉下的一个种。
  • 叠字符号؋ ​₳ ​฿ ​₿ ​₵ ​¢ ​₡ ​₢(英语:Brazilian cruzeiro) ​$ ​₫ ​₯ ​֏ ​₠ ​€ ​ƒ(英语:Florin sign) ​₣ ​₲ ​₴(英语:Hryvnia sign) ​₭ ​₺ ​₾ ​₼
  • 异人馆异人馆是指在日本幕末到明治时代(主要是明治时代)外国人所居住的住宅。“异人”指的是异国之人,也就是外人(主要是欧美人)。风见鶏之馆,神戸市 1905年建神戸北野美术馆,神戸市 1898