High-performance JavaScript R-tree-based 2D spatial index
...Spatial index is a special data structure for points and rectangles that allows you to perform queries like "all items within this bounding box" very efficiently (e.g. hundreds of times faster than looping over all items). It's most commonly used in maps and data visualizations. The demos contain visualization of trees generated from 50k bulk-loaded random points. Open web console to see benchmarks; click on buttons to insert or remove items; click to perform search under the cursor. An optional argument to RBush defines the maximum number of entries in a tree node. 9 (used by default) is a reasonable choice for most applications. Higher value means faster insertion and slower search, and vice versa.
AVL Array is a sequence container (like std::vector or std::list) that allows fast insert/remove AND fast random access. Shiftable Files offers the usual file primitives plus fast insert/remove. Get the latest version via BZR in the Develop section.