多数投票算法

✍ dations ◷ 2025-11-24 10:44:04 #算法

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

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

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

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

相关

  • 卡塞塔王宫卡塞塔王宫(意大利语:Reggia di Caserta,意大利语发音:)是位于意大利南部卡塞塔的前皇家宅邸,那不勒斯王国波旁王朝建造的。这是最大的宫殿建筑,也为18世纪建筑在欧洲最大的建筑物
  • 陈庆云陈庆云(1929年1月25日-),出生于湖南沅江,祖籍湖南湘乡,有机化学家,中国科学院院士,专攻有机氟化学。 陈庆云于1952年毕业于北京大学化学系,1952-1956年工作于中国科学院长春光机所,19
  • L-门冬酰胺酶门冬酰胺酶(英语:Asparaginase,EC 3.5.1.1),又名天冬酰胺酶或天门冬酰胺酶,是一种催化天冬酰胺水解成天冬氨酸的酶。在自然界中,一些微生物能产生这种酶。不同类型的门冬酰胺酶被用
  • 前列腺体积摄护腺(英语:prostate,又称摄护腺)为雄性哺乳动物生殖系统中的一个器官,属外分泌腺。与女性的斯基恩氏腺同源。前列腺是雄性哺乳动物生殖系统中的一个器官,属外分泌腺。在解剖学、
  • 三好彻三好彻(日语:三好 徹/みよし とおる Miyoshi Tooru,1931年1月7日-),本名河上雄三,日本记者、作家。毕业于横浜高等商业学校(日语:横浜高等商業学校)(现横滨国立大学经济学部)。曾任日本
  • ATC代码 (A11)A·B·C·D·G·H·QI·J·L·M·N·P·R·S·VATC代码A11(维生素)是解剖学治疗学及化学分类系统的一个药物分组,这是由世界卫生组织药物统计方法整合中心(The WHO Collaboratin
  • 笛真人笛真人(1973年2月22日-),前日本足球运动员。
  • 㺢㹢狓㺢㹢狓(拼音:huò jiā pí,注音:ㄏㄨㄛˋ ㄐㄧㄚ ㄆㄧˊ,学名:),是一种一直到1901年才在非洲扎伊尔森林发现的大型哺乳动物,又称作欧卡皮鹿。它是长颈鹿科中的一种偶蹄动物。它与长
  • 链表链表(Linked list)是一种常见的基础数据结构,是一种线性表,但是并不会按线性的顺序存储数据,而是在每一个节点里存到下一个节点的指针(Pointer)。由于不必须按顺序存储,链表在插入
  • 网络性能网络性能是指客户方的网络服务质量。 有许多不同的方法来测量一个网络的性能,因为每个网络在性质和设计上都是不同的。性能除了测量也可以建模并进行模拟,比如说使用状态转换