Hi,
knnsearch function can be run with many different input arguments. One such argument is 'NSMethod', which describes the search method for the function.
So, knnsearch can be either 'exhaustive' (which computes the result by comparing with each point in the train dataset), or 'kdtree' (which computes the result through a kD-tree, and can take O(log N) in the best case, where N is the number of points in train set).