Class that represents a datastructure that enables nearest neighbours search and methods to do so.
Create a hash for arrays of dimension dim.
The hyperspace will be split into hypercubes with a sidelength of omega * sqrt(sqrt(dim)), that is omega * radius.
Every point in the dim-dimensional euclidean space will be hashed to its correct bucket with a probability of prob.
Return the k approximate nearest neighbours of the item in the current hash.
Mind that the probabilistic nature of the data structure might not return a nearest neighbor at all and not the nearest neighbour.