算法竞赛中桶的概念与应用
Posted fusiwei
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了算法竞赛中桶的概念与应用相关的知识,希望对你有一定的参考价值。
算法竞赛中桶的概念与应用
在算法竞赛和计算机科学中,有一种特殊的数据结构,我们把它叫做——桶。
有许多和桶有关的算法和数据结构,想要学习它们,必须先明确好桶的概念与应用。
桶的概念
刚刚已经讲过,桶是一种数据结构。数据结构的用途是以一种特殊方式统计数据,使得我们能够快速地修改、查询我们想要的那部分数据。但是一般我们在想要统计一组数据的时候,我们更关注的是这些数据都是什么。就比如我们现在要统计一个数列,我们更关心的是这个数列里到底有那些数,而不是特别关心这些数都出现了几次。
桶就打破了这个现状,作为一种“特殊”的数据结构,它所统计的就是每个数据在数据集合中一共出现了多少次。
这里引用了大佬@(littleseven)的比喻:一般的数据结构,就好比有几个篮子(A,B,Ccdots),我们接到了一个新的数据,就要考虑将其按我们想要的那种方式分类,然后扔到某一个篮子里。
桶呢?就好比有几个篮子(1,2,3,4cdots),我们接到了一个新的数据,只看这个数据到底是什么,是1就扔进1号篮,2就扔进2号篮,以此类推。
这就是桶的概念了。
桶的应用
桶是一种数据结构。但是它的应用却不仅仅只在裸的统计次数上。
桶的应用有很多,比如权值数据结构和桶排。这都是后话了,希望大家在学习相关数据结构的时候,从实际感受和例题中,再次加深对桶的理解。
以上是关于算法竞赛中桶的概念与应用的主要内容,如果未能解决你的问题,请参考以下文章
算法竞赛入门经典(第2版)+算法艺术与信息学竞赛pdf-高清版免费下载