-
Notifications
You must be signed in to change notification settings - Fork 12
Haskell module for K-D trees
License
binarysunrise-io/kdtree
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
This is a simple library for k-d trees in Haskell, based on the algorithms at http://en.wikipedia.org/wiki/K-d_tree. It enables efficient searching through collections of points in O(log N) time for randomly distributed points, using the nearestNeighbor function. Here is an example of an interactive session using this module: [ ~/haskell/KdTree ] ghci GHCi, version 7.0.3: http://www.haskell.org/ghc/ :? for help ... Prelude> :m Data.Trees.KdTree Prelude Data.Trees.KdTree> import Test.QuickCheck Prelude Data.Trees.KdTree Test.QuickCheck> points <- sample' arbitrary :: IO [Point3d] ... Prelude Data.Trees.KdTree Test.QuickCheck> let tree = fromList points Prelude Data.Trees.KdTree Test.QuickCheck> nearestNeighbor tree (head points) Just (Point3d {p3x = 0.0, p3y = 0.0, p3z = 0.0}) Prelude Data.Trees.KdTree Test.QuickCheck> head points Point3d {p3x = 0.0, p3y = 0.0, p3z = 0.0}
About
Haskell module for K-D trees
Resources
License
Stars
Watchers
Forks
Packages 0
No packages published