Time and Space Complexity of Count-Min Sketch Data Structure

Now let’s look at the time and space consumed with this type of approach (wrt to above Java-Guava Implementation)

Number of UUIDs

Multiset Insertion Time(ms)

CMS Insertion Time(ms)

10

<25

35

100

<25

30

1,000

30

69

10,000

257

246

100,000

1200

970

1,000,000

4244

4419

Let’s have a look at the memory (space) consumed: 

Number of UUIDs

Multiset JVM heap used(MB)

CMS JVM heap used(MB)

10

<2

N/A

100

<2

N/A

1,000

3

N/A

10,000

9

N/A

100,000

39

N/A

1,000,000

234

N/A

Count-Min Sketch Data Structure with Implementation

The Count-Min Sketch is a probabilistic data structure and is defined as a simple technique to summarize large amounts of frequency data. Count-min sketch algorithm talks about keeping track of the count of things. i.e, How many times an element is present in the set.

Similar Reads

What is Count-Min Sketch?

Count-min sketch approach was proposed by Graham Cormode and S. Muthukrishnan. in the paper approximating data with the count-min sketch published in 2011/12. Count-min sketch is used to count the frequency of the events on the streaming data. Like the Bloom filter, Count-min sketch algorithm also works with hash codes. It uses multiple hash functions to map these frequencies on to the matrix (Consider sketch here a two dimensional array or matrix)....

Need for Count-Min Sketch

Since Count-Min Sketch is used to find the frequency of an element, one might think if there is actually a need for such data structure! The answer is Yes. Let us see with the help of an example....

How does Count-Min Sketch work?

...

Implementation of Count-min sketch using Guava library in Java:

Let’s look at the below example step by step....

Time and Space Complexity of Count-Min Sketch Data Structure

We can implement the Count-min sketch using Java library provided by Guava. Below is the step by step implementation:...

Applications of Count-min sketch:

...

Issue with Count-min sketch and its solution:

...

Conclusion:

Now let’s look at the time and space consumed with this type of approach (wrt to above Java-Guava Implementation)...

Contact Us