Flajolet-Martin Algorithm | Counting distinct elements in a stream | What makes it efficient?