多数投票算法

✍ dations ◷ 2025-11-25 08:14:47 #算法

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

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

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

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

相关

  • 少子化少子化是指生育率降低,老人人口高达7%是高龄化社会,造成幼年人口比例逐渐减少的现象。少子化代表着未来劳动人口可能逐渐变少,对于社会结构、经济发展等各方面都会产生重大影响
  • 西洛可风西洛可风,又以风吹来的方向而称为东南风,为地中海地区的一种风,源自撒哈拉,在北非、南欧地区变为飓风。西洛克风会导致干燥炎热的天气。许多人会因此而患上疾病。“西洛可”一词
  • 太一太一,又作太乙、泰一,原是中国古代天文学中的星名,即北极星,后成为先秦两汉民间信仰的最高神明,奉为天帝,相当于上帝。知识分子则把太一哲学化,想像为永恒不变的法则,即“道”,或宇宙
  • 张继先张继先(1966年-),女,主任医师、教授,中国共产党党员,1989年7月毕业于湖北医科大学(今武汉大学医学部)临床医学专业,现任湖北省中西医结合医院呼吸内科主任。2003年非典疫情时,张继先曾
  • 语言岛语言岛,也称语言孤岛、方言岛,是指某种语言完全处于其他语言或方言地理上的包围之中的一种语言现象。多数是由人口迁徙造成的。一般情况下,语言岛内的语言使用范围狭小,处于周边
  • 乙酸钴乙酸钴,化学式Co(CH3COO)2。由硝酸钴(或硫酸钴)溶液用乙酸酸化,再经蒸发、结晶、分离、干燥而得。四水合物为紫红色潮解结晶固体。溶于水、酸和乙醇。140°C失水。乙酸钴可以和
  • 磷光体磷光体(Phosphor)是产生冷发光现象现象的物质。包括缓慢亮度衰减(大于1毫秒)的磷光材料和发射衰减在几十纳秒之内的荧光材料。磷光体通常包含各种类型的过渡金属或稀土化合物。
  • 贝亚特丽切·倩契贝亚特丽切·倩契(意大利语:Beatrice Cenci,意大利语发音:;1577年2月6日-1599年9月11日)是一名罗马年轻贵族女性,其因犯下杀害父亲的罪行而闻名于世。贝亚特丽切和她的同伴在受审时
  • 德勒古采什蒂乡坐标:44°58′N 23°14′E / 44.967°N 23.233°E / 44.967; 23.233德勒古采什蒂乡(罗马尼亚语:Comuna Drăguțești, Gorj),是罗马尼亚的乡份,位于该国西南部,由戈尔日县负责管辖
  • 皇家天文学会院士皇家天文学会院士 (FRAS)是由皇家天文学会(RAS)批准授予给个人的荣誉学术称号。截至2016年,共约有3800名院士, 其中大约一半为博士级专业科学家,四分之一是学士后研究生或退休科学