Skip to content

various kd-trees and a vantage-point tree, original stuff by Steven Skienna and Michael Murphy; find the original source link in the README

License

Notifications You must be signed in to change notification settings

locklin/spatial-trees

Repository files navigation

Not sure if I will continue to work on these. splint's output on these files
yields 410 code warnings! While the core logic is sound, it seemed to be whipped
off too quickly to be maintainable. Leaving them up for anyone who wants to fiddle
with them.

Original code by Steven Skiena and Michael Murphy, explicitly put in "public 
domain"  at request on 10-28-2011
Modified for encapsulation into a library by Scott Locklin

zlib license


Ranger was a cool-looking demonstration of how spatial trees work, and how they 
break down in higher dimensions; aka, everything in high dimensions is pretty 
close to everything else. I've looted the code, because there aren't enough 
spatial trees around which are written in good old C. If I can get these things 
to work properly, I'll build hooks in J and Lush (and possibly R, if there are any 
advantages of, say, VPtrees over libANN).

libANN and libFLANN are good libraries for this sort of thing, but they are also 
large and complex, making them difficult to modify. These trees are simple 
enough to understand in an afternoon, and easier to fiddle with. I also prefer 
the simplicity of C.

If I can get them working properly, I plan to modify them heavily for readability 
and performance.

Presently optkd is tested. It's weird, and contains icky globals, but it works
Sproull is tested and doesn't work. Same with VP and naivekd. 
VP has a memory issue, and naivekd has a weird query syntax that makes no 
sense to me.

Naive works ;-)

Original Ranger code can be found here:
http://www.cs.sunysb.edu/~algorith/implement/ranger/distrib/

With documentation from the famous book here:
http://www.cs.sunysb.edu/~algorith/

The test function should uncomment out the various other tree examples
if you want to work on them. Sample data is kept in data/

About

various kd-trees and a vantage-point tree, original stuff by Steven Skienna and Michael Murphy; find the original source link in the README

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages