KD-tree - an algorithm that provides efficient data retrieval by splitting
the whole searching space into partitions in form of binary tree which means
that data querying on average will take O(log(n)) time
Random Binary Projection is a an algorithm that randomly partitions all
reference data points into different bins, which makes it possible to
perform efficient K Nearest Neighbours search, since there is no need to
search for the neighbours through the entire data: it's needed to
visit just a few bins to look for the neighbours.