1. A computer-implemented method for clustering a plurality of data elements, the method comprising: generating, by a computer, a bit vector for each of the plurality of data elements based on a vector of reals associated with a data element of the plurality of data elements and a plurality of random vectors, thereby generating a plurality of bit vectors; creating, by the computer, a histogram based on the plurality of bit vectors; partitioning, by the computer, the histogram into a plurality of regions; creating, by the computer, a bit mask for each of the plurality of regions; and clustering, by the computer, each of the plurality of data elements into one of a plurality of clusters by comparing the bit vector for each of the plurality of data elements with each of the bit masks.