多数投票算法

✍ dations ◷ 2025-11-24 05:08:37 #算法

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

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

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

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

相关

  • 树叶叶是高等植物的营养器官,侧边发育自植物的茎的叶原基。叶内含有叶绿体,是植物进行光合作用的主要场所。同时,植物的蒸散作用是通过叶的气孔实现的。叶只出现在真正的茎上,即只有
  • 阿尔卑斯山羊羱羊或阿尔卑斯羱羊(学名:Capra ibex),居于欧洲的阿尔卑斯山上的一种山羊属的野生山羊。在中文里,山羊属现存九个物种中,除了本种之外,有另外六种也俗称为“羱羊”(详见:山羊属)。阿尔
  • 林孝信林孝信(1944年4月3日-2015年12月20日),生于日治台湾台北州台北市。台湾《科学月刊》创办人,曾参与保钓运动,因此列名黑名单。专长领域:物理学史与哲学,数学史与哲学,科学教育,通识教育
  • 彭胜竹彭胜竹(1950年2月12日-),中华民国空军二级上将,籍贯湖北省武昌市,生于台南市,成长于客家村落,客语及台语流利,毕业于空军官校60年班、美国空军战争学院(英语:Air War College),为中华民国
  • 马库斯·特伦提乌斯·瓦罗马库斯·特伦提乌斯·瓦罗(Marcus Terentius Varro,前116年-前27年)是古罗马学者和作家,先后写有74部著作以渊博学识受到当时和中世纪学者的崇敬。他唯一流传到现在的完整作品是
  • UTC−08:00UTC−08:00时区比协调世界时慢8小时,使用区域如下: 使用UTC-8为夏令时间的地方:
  • 中国饮食文化史饮食是人类必要的行为,所谓“民以食为天”,而自先秦以来,中国民众的饮食及文化经历了巨大的变化。食材、烹饪方式、饮食习惯、口味、相关礼仪处于不断演化之中,并与现代饮食大相
  • 壮学壮学(壮语:Cuenghhag)的定义是有争议的。大体是指以壮族学者为主体而对壮族历史文化、政治形态、社会经济、哲学宗教、语言文字、文学艺术、天文地理、工艺科技、教育和医学等
  • 安娜·泰瑞莎·姬尔美可安娜·德瑞莎·姬尔美可(法语:Anne Teresa De Keersmaeker;1960年7月11日-),是比利时女编舞家、舞者,曾就读纽约大学{{|蒂施艺术学院|Tisch School of the Arts}}。1983年创办罗莎
  • 互联网络信息中心互联网络信息中心(英语:Internet Network Information Center),英文缩写InterNIC,1998年9月18日以前,负责登记域名与网络协议地址,并散播有关互联网信息的组织。此后此权责转移至互