Fast k-nearest neighbor searching algorithms including a kd-tree, cover-tree and the algorithm implemented in class package.

```
knn.index(data, k=10, algorithm=c("kd_tree", "cover_tree", "CR", "brute"))
knnx.index(data, query, k=10, algorithm=c("kd_tree", "cover_tree",
"CR", "brute"))
```

data

an input data matrix.

query

a query data matrix.

algorithm

nearest neighbor searching algorithm.

k

the maximum number of nearest neighbors to search. The default value is set to 10.

return the indice of k nearest neighbors.

Bentley J.L. (1975), “Multidimensional binary search trees used for associative
search,” *Communication ACM*, **18**, 309-517.

Arya S. and Mount D.M. (1993),
“Approximate nearest neighbor searching,”
*Proc. 4th Ann. ACM-SIAM Symposium on Discrete Algorithms (SODA'93)*, 271-280.

Arya S., Mount D.M., Netanyahu N.S., Silverman R. and Wu A.Y. (1998),
“An optimal algorithm for approximate nearest neighbor searching,”
*Journal of the ACM*, **45**, 891-923.

Beygelzimer A., Kakade S. and Langford J. (2006),
“Cover trees for nearest neighbor,”
*ACM Proc. 23rd international conference on Machine learning*, **148**, 97-104.

# NOT RUN { data<- query<- cbind(1:10, 1:10) knn.index(data, k=5) knnx.index(data, query, k=5) knnx.index(data, query, k=5, algo="kd_tree") # }