多数投票算法

✍ dations ◷ 2025-12-11 05:20:47 #算法

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

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

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

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

相关

  • 侏儒兔侏儒兔可能指以下其中一项:
  • ex vivoEx vivo是一个拉丁文词组,意指在“生物体之外”。常用来指一类利用生物组织,并进行于活体之外的科学实验。例如取下生物体的一部分组织,将其培养于人工环境,并以这些培养出来的
  • 萨顿·福斯特萨顿·勒诺·福斯特(1975年3月18日出生),美国女演员、歌手、舞者。成名于百老汇舞台,两届托尼奖最佳音乐剧女主角获得者,获奖作品分别为2002年的《摩登蜜莉》(Thoroughly Moder
  • 阿拉斯加州阿拉斯加州议会(Alaska Legislature),为美国阿拉斯加州的州议会。阿拉斯加州议会为两院制,包含下院阿拉斯加州众议院与上院阿拉斯加州参议院。众议院包含40名议员,参议院包含20名
  • 岭口交流道岭口交流道为台湾国道十号的交流道,位于台湾高雄市旗山区,指标为22k,仅设东向出口及西向入口。
  • 科特·柯本科特·唐纳德·柯本(英语:Kurt Donald Cobain,1967年2月20日-1994年4月5日),美国音乐家,以身为油渍摇滚乐队Nirvana的主唱、吉他手与词曲创作者著名。凭借著第二张专辑《Never Mind
  • 约瑟·博士尔约瑟·格罗夫斯·博士尔(英语:Joseph Groves Boxhall,RD,1884年3月23日 – 1967年4月25日)是英格兰海员,也是英国皇家邮轮泰坦尼克号四副和皇家海军后备队中校。约瑟·博士尔出生
  • 林幼春林幼春(1880年2月24日-1939年8月24日),名进,字南强,谱名资修,号幼春、老秋,通称林幼春。台湾府彰化县(今台中雾峰)人,雾峰林家成员,日治台湾文学家、社会运动家。林幼春生于福建福州,为
  • 土耳其航空航点※伊斯坦布尔机场 IST LTFM 枢纽机场 ※萨比哈·格克琴国际机场 SAW LTFJ 枢纽机场
  • 莲座状叶丛莲座状叶丛()在植物学是指一种叶片生长成环状的状态,一般常于地面或植物的基部上叠生。对于叶片长成莲座状叶丛的植物,又被称为莲座状植物或莲座状植株。对于开花植物,叶丛一般长